を使用した通常の検索の結果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
と並べ替えるとsort -n
:
./as/002-mod.txt
./tool/000-main.txt
./tool/001-sub.txt
./zo/001-int.txt
./zo/id/002-and.txt
ただし、望ましい出力は次のとおりです。
./tool/000-main.txt
./zo/001-int.txt
./tool/001-sub.txt
./zo/id/002-and.txt
./as/002-mod.txt
つまり、出力はファイル名のみに基づいてソートされますが、フォルダー情報は出力の一部として維持する必要があります。
編集:サブディレクトリ構造に複数のレベルが含まれる場合があるため、例をより複雑にします。
-printf
代わりに使用awk
)、それが最善の解決策だと思います。この方法を使用するように元の実装を作り直しました。