Мне нужно написать скрипт оболочки, который находит фразу "Candy Land" и выводит 10 строк, окружающих строку, где это слово найдено. Предположим, что оно найдено только один раз.
Я не знаю, что имеется в виду под программой оболочки и выводом 10 строк вокруг этого слова. Возможно, с использованием head/tail.
Я знаю, что с помощью grep можно найти фразу, выполнив следующее:
grep 'Candy Land' file
Но я не думаю, что это то, что я должен делать.
решение1
У Grep есть несколько флагов, например, -A
для отображения числовой строки после совпадения и -B
для отображения числовых строк до совпадения. Оба флага ожидают число, за которым следует флаг.
Также можно использовать флаг -C
, который объединяет оба варианта, чтобы получить одну линию и до, и после.
Например,
grep -A 1 -B 1 'Candy Land' file
или
grep -C 1 'Candy Land' file