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

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

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

  • Что нужно / не следует входить .zshenv, .zshrc, .zlogin, .zprofile, .zlogout?
  • Сценарий bash / zsh не вызывается из терминала в FreeBsd, ни в bash, ни в zsh
  • Недопустимое присвоение zsh в функции канала
  • Shell glob - заменить файл path arg с содержимым файла
  • Выбор случайного файла из каждой подпапки
  • Двойная проверка rm в zsh
  • смена каталога происходит очень медленно
  • Как настроить режим vi в режиме 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 ... 
    Interesting Posts

    Как возобновить процесс из SSH-соединения?

    Ограничить содержимое веб-сайта, которое будет загружено за одну минуту с одного IP-адреса (с помощью iptables)

    Как игнорировать пустые каталоги при использовании `rm` с подстановочными знаками для нескольких каталогов в zsh?

    Как я могу получить команды sudo для использования настроек в /root/.bashrc

    Поиск строки в файлах в текущем каталоге, опустить дубликаты

    Беспроводные проблемы с Netgear WNA1100

    Что такое эквивалент Debian для Ubuntu Core / Base?

    Насколько надежны / переносимы Nix-встроенные / команды (echo, ps, sort, uniq) из Debian в другие дистрибутивы

    Как регистрировать вывод в файл журнала с помощью runit

    Как заменить строку в файлах, используя звездочку в форме поиска

    Как установить принтер с CUPS на Chrome OS?

    команда `read` не работает в Makefile

    перемещать файлы определенного шаблона в другой каталог

    Ubuntu VPS в режиме ожидания / ожидания?

    Переупорядочить содержимое файла

    Linux и Unix - лучшая ОС в мире.