命令列印多個磁碟機中的資料夾列表

命令列印多個磁碟機中的資料夾列表

是否有一個 CLI 命令可以按字母順序(但在一個 txt 或電子表格中)列印不同硬碟中包含的資料夾清單?

例如,假設我有這樣的配置:

/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該字元不在1該字元之前,因此5該字串不能位於14字串 -之前05,但是可以。)


解釋:

find是一個尋找東西的程式。

  • -type f表示我們需要常規文件,而不是目錄(或其他特殊文件)。
  • 通常的輸出find是檔案的路徑,所以我們會得到sda/Alfa/File 1,但是使用-printf '%f\n',我們告訴find只列印檔案名稱。

相關內容