나는 egrep
이 -o
옵션을 사용하여 줄의 일치하는 부분을 가져옵니다.
cat /usr/share/dict/words | egrep -o '(aa|ii)'
이제 경기의 일부 맥락, 즉 왼쪽과 오른쪽의 일부 캐릭터를 보고 싶습니다. 이를 달성하는 한 가지 방법은 다음과 같습니다.
cat /usr/share/dict/words | egrep -o '.{3}(aa|ii).{2}'
더 나은(더 효율적이고, 더 우아한) 방법이 있나요? (명령줄 옵션을 살펴봤지만 egrep
이 용도로 사용되는 옵션은 찾지 못했습니다.)
답변1
다음을 수행할 수 있습니다.
$ echo 'aabiicaa' | perl -lne '
while (/aa|ii/g) {print substr($`,-3)."[$&]".substr($'\'',0,2)}'
[aa]bi
aab[ii]ca
iic[aa]