Resultado de uma localização normal usando find . ! -path "./build*" -name "*.txt"
:
./tool/001-sub.txt
./tool/000-main.txt
./zo/001-int.txt
./zo/id/002-and.txt
./as/002-mod.txt
e quando classificado com sort -n
:
./as/002-mod.txt
./tool/000-main.txt
./tool/001-sub.txt
./zo/001-int.txt
./zo/id/002-and.txt
no entanto, a saída desejada é:
./tool/000-main.txt
./zo/001-int.txt
./tool/001-sub.txt
./zo/id/002-and.txt
./as/002-mod.txt
o que significa que a saída é classificada com base apenas no nome do arquivo , mas as informações da pasta devem ser mantidas como parte da saída.
Editar : Tornar o exemplo mais complicado, pois a estrutura do subdiretório pode incluir mais de um nível.
-printf
vez de awk
), acho que essa é a melhor solução. Eu refiz a minha implementação original para usar esse método.