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

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

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

поэтому я представляю себе что-то вроде хвоста, но начинающегося со строки, которую я идентифицирую с grep.

Например, я просматриваю журнал и могу определить точку, в которой есть время. Поэтому я хочу увидеть все строки журнала, которые идут после строки журнала, содержащей определенную дату и время.

решение1

это должно сработать:

sed -n -e "/pattern/,\$p" filename

решение2

Опция -A для grep может это сделать. Обычное использование - для контекстапослесовпадения и -B для контекстадосовпадений. Опция -m ограничивает количество совпадений.

grep -A1000000 -m1 <search> <file>

выведет до 1000000 конечных строк контекста (и чтобы это сработало, просто убедитесь, что число больше, чем количество строк в файле — и если ваш файл содержит более 1000000 строк, grep, вероятно, не тот инструмент, который вам нужен). Аналогичным образом,

grep -B1000000 -m1 <search> <file>

выведет все строки до первого совпадения включительно. (Насколько мне известно, это не является предполагаемым использованием этих опций, а является естественным побочным эффектом их работы: альтернативой является использование программы, отличной от grep.)

Связанный контент