LINUX.ORG.RU
решено ФорумTalks

любителям *sh в качестве ФМ


0

0

как вывести командой ls список только каталогов? а только файлов? после прочтения мана мне пришло в голову только грепать:

чтобы получить список каталогов - ls -F1 | grep /

так же и с другими типами файлов, как написано в мане:

-F, --classify, --indicator-style=classify Добавлять к каждому имени файла символ, показывающий его тип. Для обычных исполняемых файлов это `*'. Для каталога добавляется `/', для FIFO - `|', для символических ссылок `@', для гнезд `=', для обычных файлов ничего не добавляется.

но вот как вывести список всех файлов кроме каталогов, к примеру? тупо грепать точку?

в общем, интересно, как у вас это всё проиходит, какие есть секреты использования оболочки в качестве ФМ, поделитесь советами, будьте любезны

ls -l | grep ^d как вариант - это раз. более правильный вариант: find . ! -name . -prune -type f

Find умеет и только директории, и только файлы.

fjfalcon ★★★
()

>чтобы получить список каталогов - ls -F1 | grep /

но вот как вывести список всех файлов кроме каталогов, к примеру? тупо грепать точку?

Ну, очевидно же: ls -F1 |grep -v '/'

gnunixon ★★★
()
$ find . -maxdepth 1 -type f
$ find . -maxdepth 1 -type d
bibi
()

Сам не любитель, но например zsh, при наборе например cd, в качестве параметра подставит только каталоги, файлы пропустит.

sin_a ★★★★★
()

хм, про find совсем и забыл, и, да, bash тоже не подставит обычный файл в аргумент cd

спасибо ответившим

Hrenomoto
() автор топика
Ответ на: комментарий от sin_a

bash с установленным bash-completion тоже так делает, насколько мне помнится.

DJAnto
()

4.3, технические вопросы в толксах. покарать.

name_no ★★
()

> как вывести список всех файлов кроме каталогов, к примеру?

«find -maxdepth 1 -type f» , опционально «| xargs -d\\n ls -l»

или установить шелл потяжелее, в zsh: «ls -l *(.)»

n01r ★★
()
Ответ на: комментарий от n01r

ой, это файлов... чуть по другому... «ls -l *(^/)», find влом исправлять)

n01r ★★
()
Ответ на: комментарий от sin_a

> А где можно почитать про такого рода конструкции для zsh?

man zshexpn

~ третья страница с конца)

ps... также интересен поиск по слову «brain» в этом мане

n01r ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.