LINUX.ORG.RU

История изменений

Исправление 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 {}