"Candy Land"라는 문구를 찾고 해당 단어가 발견된 줄 주위의 10줄을 인쇄하는 쉘 스크립트를 작성해야 합니다. 한 번만 발견되었다고 가정합니다.
쉘 프로그램과 해당 단어 주위의 10줄을 인쇄하는 것이 무엇을 의미하는지 모르겠습니다. 어쩌면 머리/꼬리를 사용할 수도 있습니다.
grep을 사용하면 다음과 같이 문구를 찾을 수 있다는 것을 알고 있습니다.
grep 'Candy Land' file
그러나 나는 이것이 내가 해야 할 일이라고 생각하지 않습니다.
답변1
-A
Grep 에는 일치 후 숫자 줄을 표시하고 일치 전에 숫자 줄을 표시하는 것과 같은 몇 가지 플래그가 있으며 -B
둘 다 숫자 뒤에 플래그가 올 것으로 예상합니다.
-C
그리고 두 가지를 결합하여 전후에 한 줄을 제공하는 플래그를 사용할 수도 있습니다.
예를 들어,
grep -A 1 -B 1 'Candy Land' file
또는
grep -C 1 'Candy Land' file