grep은 앞과 뒤의 20자 일치

grep은 앞과 뒤의 20자 일치

문제는 경기가 끝난 뒤 너무 많은 정보를 얻는다는 점이다.

grep -RnisI --color=auto "pseudomonas" *

경기 전후에 20자 또는 10단어만 얻고 싶습니다.

이와 같은 작업을 수행하는 올바른 도구는 무엇입니까?

답변1

cat file.txt | grep -o -P '.{0,20}string.{0,20}'

이것은 당신에게 도움이 될 것입니다

고쳐 쓰다:

고양이를 원하지 않으면 grep을 사용하고 파일을 인수로 사용할 수 있습니다.

grep -o -P '.{0,20}pseudomonas.{0,20}' FileName.html

또한 -P는 Perl Regex를 사용합니다. 매뉴얼 페이지에서는 이것이 실험적이라고 말합니다. 해당 플래그를 피하려면 대신 egrep을 사용할 수 있습니다.

grep -Eo '.{0,20}yourstring.{0,20}' yourtestfile.txt

답변2

pcregrep -MnirIso '(?s).{0,20}pseudomonas.{0,20}' . |
  grep --color -e '^' -e pseudomonas

일치 항목이 있고 해당 컨텍스트가 겹치지 않으며 파일 이름에 pseudomonas.

또한 보고되는 줄 번호는 컨텍스트 시작 부분의 줄 번호입니다.

관련 정보