Как я могу подсчитать количество строк в файле после соответствия grep?

Я пытаюсь подсчитать количество строк после проблемной строки в файле csv. Я знаю, что могу использовать синтаксис grep -a # для вывода числа строк после того, как совпадение найдено. Меня интересует только количество строк. Я понимаю, что могу установить номер в MAX_INT, передать его в файл и выполнить некоторую обработку.

Я ищу краткий лайнер, чтобы просто рассказать мне счет.

Какие-либо предложения?

5 Solutions collect form web for “Как я могу подсчитать количество строк в файле после соответствия grep?”

 { grep -m1 match; grep -c ''; } <file 

Это будет работать с GNU grep и lseek() способным проникнуть. Первый grep остановится с шагом 1 м, а второй будет -c каждую строку, оставшуюся на входе.

Без GNU grep :

 { sed '/match/q'; grep -c ''; } <file 

Конечно, w / grep вы можете использовать любые / все другие варианты, кроме того, и остановка в одном матче вовсе не нужна.

Вот один из способов.

 $ cat foo aaa bbb ccc ddd eee fff $ awk '/^ddd/{a=FNR}END{print FNR-a}' foo 2 $ 

Другой способ – использование dc немного эзотерическое, но, похоже, здесь хорошо работает:

 sed -n '/problem/=;$=' prob.txt | dc -e '??rp' 

sed ищет prob.txt для «проблемы» и последней строки и использует команду = для вывода номера строки для обоих.

dc считывает эти два значения в стек, отменяет их, отбрасывает и печатает разницу.

Полностью с sed (хотя и две команды с трубой)

 sed '/ddd/,$!d' file | sed -n '$=' 

Удаляет всю строку перед строкой, а затем следующая команда подсчитывает строки в новом файле.

Это должно удалить все строки до (и в том числе) проблемных, а затем подсчитать оставшиеся строки:

 sed '1,/problem/d' data.txt | wc -l 
  • удалить строки, где значение поля меньше или равно 3 - sed или awk?
  • Печать нескольких строк после n-го появления в bash
  • почему grep не печатает всю строку?
  • grep шаблон перед другим шаблоном и распечатать все
  • Поиск указанных ключевых слов в файлах и копирование в новое имя файла на основе ключевого слова
  • генерировать ссылки страниц с добавочной переменной
  • grep caret, похоже, не имеет эффекта
  • Список всех обычных файлов, содержащих (в их имени, каталоге или их содержимом) определенную (под) строку
  • Почему команда grep игнорирует период в строке поиска?
  • Почему grep обрабатывает строку ebug 'по-разному?
  • grep с логическими операторами
  • Interesting Posts

    Проблема подключения к L2TP VPN

    EDID недействителен на устройстве USB DisplayLink

    Сортировка на основе последнего появления символа

    Поиск последнего символа файла и добавление строки после этого?

    Паника в ядре – не синхронизация: нет init. При загрузке из U-Boot

    Символы Unicode в вложениях Mutt

    Где найти информацию о том, как настроить vm в redhat 7.2

    Перемещение смененных функциональных клавиш в XKB

    systemd – как заставить его отображать сетевую конфигурацию сразу после запуска сети?

    Есть ли способ манипулировать строками в правилах проверки перед отправкой?

    Пожалуйста, объясните вывод команды управления ssh ~ #

    Почему я могу копировать файлы, но не создавать файлы в этом каталоге?

    Как разрешить доступ к памяти в модуле ядра?

    Установленный корневой центр сертификации не работает?

    Как вызвать функцию уровня ядра в пользовательском пространстве

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