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.
-printfbunun 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.