Risultato di una normale ricerca utilizzando 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 se ordinati con sort -n
:
./as/002-mod.txt
./tool/000-main.txt
./tool/001-sub.txt
./zo/001-int.txt
./zo/id/002-and.txt
tuttavia l'output desiderato è:
./tool/000-main.txt
./zo/001-int.txt
./tool/001-sub.txt
./zo/id/002-and.txt
./as/002-mod.txt
ciò significa che l'output è ordinato solo in base al nome file , ma le informazioni sulla cartella devono essere mantenute come parte dell'output.
Modifica : rende l'esempio più complicato in quanto la struttura della sottodirectory può includere più di un livello.
-printf
invece di awk
), penso che sia la soluzione migliore. Ho rielaborato la mia implementazione originale per utilizzare questo metodo.