grep файл, но показать несколько окружающих строк? - PullRequest
3122 голосов
/ 12 августа 2008

Я бы хотел grep для строки, но также показать предыдущие пять строк и следующие пять строк, а также совпадающую строку. Как я смогу сделать это?

Ответы [ 11 ]

0 голосов
/ 11 апреля 2018

Вот решение @ Игорь в awk

awk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=3 a=3 s="pattern" myfile

Примечание. Замените a и b переменные числом строк до и после.

Это особенно полезно для системы, которая не поддерживает параметры -A, -B и -C grep.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...