命令打印出多个驱动器的文件夹列表

命令打印出多个驱动器的文件夹列表

是否有一个 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只打印文件名。

相关内容