サブディレクトリ名でソートして、サブディレクトリ内のすべてのファイルを一覧表示します。

サブディレクトリ名でソートして、サブディレクトリ内のすべてのファイルを一覧表示します。

内部に多くのサブフォルダがあるフォルダがあります。すべてのサブフォルダ内のすべてのファイルを一覧表示したいのですが、ファイルをサブフォルダ名でソートしたいと思います。現在、ディレクトリ内のファイルには興味がありません。

現在、このコマンドを使用していますが、必要な正しいファイル名とパス出力を取得できますが、サブフォルダーごとにソートされません。

find -type f

前のデータ:

8585/file10.txt
8585/file83.txt
34032/file130.txt
10/file5400.txt

希望のソート出力:

10/file5400.txt
8585/file83.txt
8585/file10.txt
34032/file130.txt

助けてくれてありがとう!

答え1

findパイプからデータを転送しますsort。デフォルト設定はsortロケールによって異なり、通常は英数字です。希望のソート順序が提供されない場合そしてあなたはGNUを持っています。私の例のフラグをsort試してみてください。-V

find -type f | sort -V

man sort詳細については、次を参照してください。

答え2

読んだらマニュアルページfind、maxlengthオプションがあることがわかります。しかし、もしあなたが

ls */* | sort

関連情報