複数のドライブからフォルダのリストを印刷するコマンド

複数のドライブからフォルダのリストを印刷するコマンド

異なるハードドライブに含まれるフォルダーのリストをアルファベット順 (ただし、1 つの txt またはスプレッドシート) で印刷する CLI コマンドはありますか?

たとえば、次のような構成があるとします。

/sda/Alfa/File 1
/sdb/Bravo/File 5
/sdb/Bravo/File 20
/sdc/Delta/File 14
/sdc/Delta/File 11

出力したいのは、フォルダーがアルファベット順にリストされている TXT ファイルまたはスプレッドシート ファイルです。次のようなものです。

File 1
File 5
File 11
File 14
File 20

これは CLI から実行できるものなのでしょうか?

答え1

使ってみるfindsort:

find /sda /sdb /sdc -type f -printf '%f\n' | sort

例えば:

$ tree sd[a-c]
sda
└── Alfa
    └── File 1
sdb
└── Bravo
    ├── File 20
    └── File 5
sdc
└── Delta
    ├── File 11
    └── File 14
$ find sd[a-c] -type f -printf '%f\n' | sort
File 1
File 11
File 14
File 20
File 5

ご了承くださいこれこれは通常アルファベット順、より正確には辞書式順序を意味します。(文字は文字5の前に来ないので、文字列は文字列の前に来ることはできませんが、は来ます。)151405


説明:

find物を見つけるためのプログラムです。

  • -type fディレクトリ (またはその他の特殊ファイル) ではなく、通常のファイルが必要であることを示します。
  • の通常の出力はfindファイルのパスなので、 が返されますsda/Alfa/File 1が、 を使用するとファイル名のみを印刷するように-printf '%f\n'指示します。find

関連情報