Существует ли команда 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?
Попытайтесь использовать 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
распечатать только имя файла.