Перечислите все файлы в dir с алфавитным цветовым кодированием (dir и файлы разделены)

Я ищу команду для вывода списка всех файлов в каталоге с помощью команды ls.

Требования: - в алфавитном порядке - сначала папки, затем файлы (в алфавитном порядке) - нет меток времени или другой информации, только простые имена Мне нужно:

ls -la | rev | cut -d' ' -f 1| rev

Я хотел бы вывод, как это (папки должны иметь синий цвет):

folder_A
folder_B
folder_C

file_A  
file_B 
file_C
2
задан 28 August 2017 в 17:01

2 ответа

По крайней мере, в последних версиях ls вы можете добавить опцию --group-directories-first, чтобы получить список с каталогами над обычными файлами. Ваша команда ls, вероятно, уже имеет псевдоним для использования --color=auto, но если нет, вы можете добавить это (вы можете использовать --color=always, но это может привести к нежелательным результатам, если вы когда-либо используете команду в конвейере). Наконец, -1 приводит к тому, что выходные данные представляются в одном столбце. Таким образом, полная команда будет

ls -1 --color=auto --group-directories-first
0
ответ дан 28 August 2017 в 17:01

@Bruni ответил командой tree, но удалил ее? На самом деле это был хороший ответ, я покопался в человеке и нашел решение: tree -L 1 --dirsfirst

Это вывод:

.
├── docs
├── media
├── node_modules
├── src
├── test
├── API.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.rst
├── LICENSE
├── package.json
├── README.md
├── webpack.config.js
└── yarn.lock

5 directories, 8 files

Как избавиться от линии '5 dirs , 8 файлов "без потери цветовой кодировки на папках?

Редактировать: @steeldriver, также спасибо за ваш ответ: ls -1 --color=auto --group-directories-first

0
ответ дан 28 August 2017 в 17:01

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

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