Ergebnis eines normalen Funds mit 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
und wenn sortiert mit sort -n
:
./as/002-mod.txt
./tool/000-main.txt
./tool/001-sub.txt
./zo/001-int.txt
./zo/id/002-and.txt
Die gewünschte Ausgabe ist jedoch:
./tool/000-main.txt
./zo/001-int.txt
./tool/001-sub.txt
./zo/id/002-and.txt
./as/002-mod.txt
Dies bedeutet, dass die Ausgabe nur nach dem Dateinamen sortiert wird, die Ordnerinformationen jedoch als Teil der Ausgabe beibehalten werden sollten.
Bearbeiten : Machen Sie das Beispiel komplizierter, da die Unterverzeichnisstruktur mehr als eine Ebene enthalten kann.
-printf
anstelle von verwenden awk
), halte ich dies für die beste Lösung. Ich habe meine ursprüngliche Implementierung überarbeitet, um diese Methode zu verwenden.