Соответствие и в строке с несколькими столбцами в unix

В папке содержится более 200 файлов, в которых некоторые из файлов состоят из следующего шаблона.

ABCD,EFGH,,

Не изменяя и не заменяя его, я просто хочу узнать количество файлов в этом формате.

4 Solutions collect form web for “Соответствие и в строке с несколькими столбцами в unix”

Grep имеет режим регулярного выражения Perl (-P) и только для подсчета (-c)

 $ grep -c -P 'ABCD\ \t\ ,EFGH,\ ,' file 1 

Попробуйте это, чтобы получить количество файлов с шаблоном

 grep -rlP "ABCD \t ,EFGH, " directory | wc -l 
  • r рекурсивный поиск файлов
  • P Perl mode
  • l распечатайте имя каждого входного файла, из которого обычно выводился бы вывод. Сканирование остановится при первом совпадении.
  • количество строк

Чтобы получить список файлов:

 grep -rlP "ABCD \t ,EFGH, " directory | awk -F '/' '{print $2}' 

Эта команда подсчитывает количество файлов в текущем каталоге, которые содержат совпадения с вашим шаблоном:

 grep -Psl 'ABCD \t ,EFGH, ,' * | wc -l 

(Как и в большинстве других решений, он будет неправильно подсчитывать файлы, содержащие в имени встроенные символы новой строки. В мире GNU вы можете использовать grep -PZsl '...pattern...' * | tr '\n\0' 'X\n' | wc -l чтобы это исправить.)

С zsh

 (cd folder && grep -l $' \t ' ./*(D.)) | grep -c / 

Будет подсчитывать количество обычных файлов в folder которые содержат хотя бы одно вхождение .

Рекурсивный:

 (cd folder && grep -l $' \t ' .//**/*(D.)) | grep -c // 

Вы также можете использовать find :

 (cd folder && find .//. -type f -exec grep -l $' \t ' {} +) | grep -c // 

Если вы хотите рассматривать только файлы, в которых находится в первом столбце, измените шаблон на $'^[^,]* \t ' .

  • Regex заменить второй шаблон, сопоставив с в Geany?
  • Скопируйте файлы с определенным расширением из множества вложенных подкаталогов в один каталог и добавьте к каждому скопированному файлу имя каталога.
  • Извлеките адреса, разделенные точкой с запятой, и напечатайте каждый адрес в строке
  • Почему `* .ext` работает при поиске файла с расширением 'ext'
  • Заменить текст другим
  • BASH не нравится мое регулярное выражение
  • Извлекать только IP-адреса из текста
  • Минимизированный код JSON между двумя шаблонами с помощью регулярных выражений
  • Пропустить текст в выводе с помощью grep в режиме Perl
  • Почему эта команда работает только для каждой другой строки?
  • найти + распечатать файлы с отметкой времени
  • Interesting Posts

    Пользователь в той же группе разрешает новые / редактировать файлы

    Работайте с двухфакторным SSH-сервером с помощью мастер-соединения и переадресации портов?

    Почему все приложения переходят в папку «Другие» приложений в Gnome Shell 3.8?

    Как предотвратить использование Apache слишком большого количества ОЗУ

    Подключиться к сеансу сеанса byobu и выполнить команду?

    Как я могу сделать vlc воспроизвести все видео с 50% громкостью?

    Debian apt не может найти пакет cairo-dock, только на ноутбуке

    UUCP на старом Xenix с последовательной линией без модема

    GPGPU / CUDA в KVM или Xen

    Псевдоним для диспетчера файлов

    Могу ли я создать контейнер Docker из Dockerfile интерактивным способом с выделением некоторого псевдо TTY?

    LVM – группа томов – что такое экстенты?

    Файлы tar для Linux менее 3 месяцев назад, используя дату в filename

    Достоинства файловой системы без разделов

    Исправьте версию debian по умолчанию для wheezy

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