Aşağıdakileri kullanarak normal bulmanın sonucu 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
ve şuna göre sıralandığında sort -n
:
./as/002-mod.txt
./tool/000-main.txt
./tool/001-sub.txt
./zo/001-int.txt
./zo/id/002-and.txt
ancak istenen çıktı:
./tool/000-main.txt
./zo/001-int.txt
./tool/001-sub.txt
./zo/id/002-and.txt
./as/002-mod.txt
yani, çıktı yalnızca dosya adına göre sıralanır , ancak klasör bilgileri çıktının bir parçası olarak korunmalıdır.
Düzenleme : Alt dizin yapısı birden fazla düzey içerebileceğinden örneği daha karmaşık hale getirin.
-printf
bunun yerine kullanın awk
), bunun en iyi çözüm olduğunu düşünüyorum. Bu yöntemi kullanmak için orijinal uygulamamı yeniden çalıştım.