команда для распечатывания списка папок от нескольких дисков

Существует ли команда CLI для распечатывания в алфавитном порядке (но в одном единственном txt или электронной таблице) списка папок, содержавшихся в различных жестких дисках?

Например, позволяет, говорят, что у меня есть эта конфигурация:

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

То, что я хотел бы произвести, является TXT или файлом электронной таблицы, где папки перечислены в алфавитном порядке, somethings как:

File 1
File 5
File 11
File 14
File 20

Это - что-то, что я могу сделать от CLI?

0
задан 23 November 2014 в 21:07

1 ответ

Попытайтесь использовать find с sort:

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 распечатать только имя файла.
2
ответ дан 4 August 2019 в 08:48

Другие вопросы по тегам:

Похожие вопросы: