A primeira abordagem adiciona a sequência de classificação a cada nome de arquivo:
$ ls -1 | awk -F\( '{print $2 " "$1"("$2}' | sed 's/)-clean//' | sort -n
FOL001 iemeezei-(FOL001)-clean
FOL002 aghaitug-(FOL002)-clean
FOL003 ieghaeve-(FOL003)-clean
O segundo que eu gosto mais, porque o nome do arquivo permanece o mesmo. Ele adiciona um espaço à string "FOL", que pode ser usada por sort
como um delimitador, o segundo sed
remove o espaço novamente. Se os nomes de arquivos contiverem espaçados, você pode querer decidir por outro delimitador (que então deve ser dado a sort
com -t
):
$ ls -1 | sed 's/(FOL/& /' | sort -nk2 | sed 's/FOL /FOL/'
iemeezei-(FOL001)-clean
aghaitug-(FOL002)-clean
ieghaeve-(FOL003)-clean