Соответствие и в строке с несколькими столбцами в 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 ' .

  • BASH не нравится мое регулярное выражение
  • Пакетное переименование папок со значением из значения json в package.json
  • проверьте обновление ping для большого количества машин
  • regex private ips и удалить из файла журнала
  • Захват файлов журнала, которые заканчиваются любым числом
  • Минимизированный код JSON между двумя шаблонами с помощью регулярных выражений
  • Interesting Posts

    Проблема установки Okular из ppa под Ubuntu

    Как извлечь специально названную папку из рекурсивного каталога, удалить остальные?

    Есть ли способ конвертировать zjsstream в текстовый файл для чтения человеком?

    Контрольная переменная в заявлении case bash

    SCSI Ленточный накопитель на ubuntu и centos

    Как подключить диск из командной строки

    Повторное включение обновлений отключенных служб?

    При запуске сценария оболочки можно передавать конкретные позиционные параметры без необходимости вводить их в порядок?

    Как использовать отпечаток пальца для дешифрования папки, зашифрованной с помощью ecryptfs?

    Безопасно ли вручную выполнять операцию apt-get update?

    Arch Linux: Должен ли я хранить службу dhcpd, если я использую connman?

    Как упростить структуру диска и изменить размер раздела

    Как linux загружает прошивку для встроенных модулей драйверов

    Путаница относительно низкой частоты кадров с Nvidia GeForge, но аппаратное рендеринг, похоже, работает?

    Добавление пустой строки в конец ввода

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