Как я могу отображать только файлы ls?

9

Я полагаю, что должен быть способ заставить ls отображать только не-каталоги, но справочная страница не делает его очевидным.

    
задан thinksinbinary 11.08.2016 в 21:54
источник

3 ответа

15
ls -p | grep -v /

Использование ls -p сообщает ls добавить косую черту в записи, которые являются каталогом, а с помощью grep -v / сообщает grep для возврата только строк not , содержащих косую черту.

    
ответ дан thomasrutter 11.08.2016 в 23:53
источник
7

Вы можете попробовать следующее:

find . -maxdepth 1 -not -type d

И сопоставьте это с особым псевдонимом.

Но если вы действительно заинтересованы в использовании команды ls , здесь:

ls -p | egrep -v /$     

ответ дан 0x23212f 11.08.2016 в 23:07
4

В качестве альтернативы:

ls -lAh | grep -v '^d'

Этот метод перечисляется в

  • -l Формат длинного списка
  • -A Отображает почти все (покажите скрытые файлы, но не покажите . и .. )
  • -h Доступные для пользователя размеры файлов

, а grep

  • -v Не показывать соответствующие записи
  • Regular expression filter ^d - те, которые начинаются с буквы d (для каталога) i.e drwxrwxr-x <some file details> <foldername>

Если вы не хотите вводить каждый раз, вы можете сделать это в псевдоним для вашего профиля bash / shell.

    
ответ дан sdkks 12.08.2016 в 02:38