Resultado de un hallazgo 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
y cuando se ordena con sort -n
:
./as/002-mod.txt
./tool/000-main.txt
./tool/001-sub.txt
./zo/001-int.txt
./zo/id/002-and.txt
sin embargo, la salida deseada es:
./tool/000-main.txt
./zo/001-int.txt
./tool/001-sub.txt
./zo/id/002-and.txt
./as/002-mod.txt
lo que significa que la salida se ordena solo en nombre de archivo , pero la información de la carpeta debe mantenerse como parte de la salida.
Editar : Haga que el ejemplo sea más complicado ya que la estructura del subdirectorio puede incluir más de un nivel.
-printf
lugar de awk
), creo que esa es la mejor solución. He revisado mi implementación original para usar este método.