История изменений
Исправление
vertexua,
(текущая версия)
:
Строго настрого не использовать в продакшне!
#!/bin/bash
FROM=`grep -n '^import' $1 | cut -d\: -f1 | head -1`
TO=`grep -n '^import' $1 | cut -d\: -f1 | tail -1`
TMP_FILE=`mktemp`
trap_handler(){
rm $TMP_FILE
}
trap trap_handler EXIT
F=$(($FROM-1))
S=$(($TO - $FROM + 1))
T=$(($TO+1))
cat $1 | head -$F | egrep -v "^[[:space:]]*$" > $TMP_FILE
echo " " >> $TMP_FILE
cat $1 | tail -n+$FROM | head -$S | sort | uniq | egrep -v "^[[:space:]]*$" >> $TMP_FILE
echo " " >> $TMP_FILE
cat $1 | tail -n+$T | egrep -v "^[[:space:]]*$" >> $TMP_FILE
cat $TMP_FILE>$1
Для каталога
$ find ./ -iname '*.scala' | xargs -I {} ./sort_imports.sh {}
Исправление
vertexua,
:
Строго настрого не использовать в продакшне! Откидывает копыта если есть импорты посреди кода
#!/bin/bash
FROM=`grep -n '^\s*import' $1 | cut -d\: -f1 | head -1`
TO=`grep -n '^\s*import' $1 | cut -d\: -f1 | tail -1`
TMP_FILE=`mktemp`
trap_handler(){
rm $TMP_FILE
}
trap trap_handler EXIT
F=$(($FROM-1))
S=$(($TO - $FROM + 1))
T=$(($TO+1))
cat $1 | head -$F | egrep -v "^[[:space:]]*$" > $TMP_FILE
echo " " >> $TMP_FILE
cat $1 | tail -n+$FROM | head -$S | sort | uniq | egrep -v "^[[:space:]]*$" >> $TMP_FILE
echo " " >> $TMP_FILE
cat $1 | tail -n+$T | egrep -v "^[[:space:]]*$" >> $TMP_FILE
cat $TMP_FILE>$1
Для каталога
$ find ./ -iname '*.scala' | xargs -I {} ./sort_imports.sh {}
Исходная версия
vertexua,
:
Строго настрого не использовать в продакшне!
#!/bin/bash
FROM=`grep -n '^\s*import' $1 | cut -d\: -f1 | head -1`
TO=`grep -n '^\s*import' $1 | cut -d\: -f1 | tail -1`
TMP_FILE=`mktemp`
trap_handler(){
rm $TMP_FILE
}
trap trap_handler EXIT
F=$(($FROM-1))
S=$(($TO - $FROM + 1))
T=$(($TO+1))
cat $1 | head -$F | egrep -v "^[[:space:]]*$" > $TMP_FILE
echo " " >> $TMP_FILE
cat $1 | tail -n+$FROM | head -$S | sort | uniq | egrep -v "^[[:space:]]*$" >> $TMP_FILE
echo " " >> $TMP_FILE
cat $1 | tail -n+$T | egrep -v "^[[:space:]]*$" >> $TMP_FILE
cat $TMP_FILE>$1
Для каталога
$ find ./ -iname '*.scala' | xargs -I {} ./sort_imports.sh {}