Как я могу подсчитать количество строк в файле после соответствия 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 
  • Как использовать инструменты GNU для извлечения и объединения двух подстрок одной и той же строки?
  • Поиск номера в тексте
  • grepping фиксированная строка в начале строки
  • Надежная перезапись части диска
  • Как я могу воздействовать на результаты команды «locate»?
  • Греп для слова в двух перевернутых запятых
  • Как выполнить grep на FTP?
  • Греп против внимания на mac
  • Какое из следующего использования якоря является правильным в регулярном выражении с помощью grep?
  • Как предотвратить нежелательное использование памяти grep
  • Какие специальные символы выполняет синтаксический анализ grep по умолчанию?
  • Linux и Unix - лучшая ОС в мире.