Без учета . и .. из результатов поиска и ls

Есть ли способ предотвратить find и ls -l из списка . и .. в их результатах? Я никогда не забочусь о том, чтобы увидеть этот результат в выходе, и это мешает мне эффективно передавать их вывод в wc -l чтобы точно подсчитывать вещи.

В случае, если это имеет значение, я работаю в zsh .

3 Solutions collect form web for “Без учета . и .. из результатов поиска и ls”

С zsh :

 count() echo $# count * # non-hidden files (all types) count *(D) # files (all types) count **/*(D) # files recursively (all types) count **/*(D/) # directories only (recursively) 

( zsh globs никогда не включаются, ни .. даже когда dotglob включен (например, с квалификатором (D) globbing)).

Чтобы избежать сообщения об ошибке, когда нет файла, добавьте классификатор N globbing:

 count *(ND) 

Это заставляет glob расширяться до нуля (без аргумента, а не пустого аргумента), если нет совпадения.

Обратите внимание, что поскольку символ новой строки является допустимым символом, как любой в имени файла, то вывод строки ls или find в wc -l неверен.

POSIXly, вы могли бы считать символы / вместо вместо новой строки:

 find . ! -name . -prune -print | grep -c / 

Или рекурсивно, используя этот трюк:

 find .//. ! -name . -prune -print | grep -c // 

Для ls используйте -A вместо -a .

от man ls :

  -A, --almost-all do not list implied . and .. 

Чтобы find для исключения точечных каталогов, вы можете использовать это:

 $ find . ! -path . -type d 

пример

 $ find . ! -path . -type d | head -5 ./.vim_SO ./.vim_SO/bundle ./.vim_SO/bundle/vim-fugitive ./.vim_SO/bundle/vim-fugitive/plugin ./.vim_SO/bundle/vim-fugitive/doc ... 
  • Запуск одной команды за другой в zsh при нажатии Ctrl-C
  • Могу ли я заставить zsh включить стек каталогов в завершение табуляции для тильды (~)?
  • Где задана функция, заданная «подсказка»?
  • Передача кавычек и полных строк в bash -c или zsh -c
  • Получить индекс массива
  • Различные оболочки для интерактивной и неинтерактивной работы
  • Существуют ли проблемы с дефисами в функциях, псевдонимах и исполняемых файлах?
  • Записи вкладки Zsh не работают по желанию для частичных путей
  • Как отобразить имя текущего Virtualenv?
  • zpool указывает, что зоны находятся в режиме SUSPENDED
  • Отключить классификаторы glob в zsh
  • индикатор выполнения, чтобы узнать, сколько выполнено выход скрипта оболочки
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.