파일에서 문자 찾기

파일에서 문자 찾기

텍스트 파일에서 하나 이상의 줄을 찾아야 합니다.x 그리고적어도 두 개 y.

나는 다음을 시도했다:

grep -E "x.*y{2}" file.txt

이 접근 방식은 작동하지 않았습니다. 다른 방법이 있나요?

답변1

두 번의 연속 grep 호출을 사용할 수 있습니다.

grep 'x' file.txt | grep 'y.*y'

또는 세 가지 가능성 중 하나:

grep -E 'x.*y.*y|y.*x.*y|y.*y.*x' file.txt

답변2

어떤 순서로든 찾을 수 있다면 @jofel의 답변보다 짧은 내용을 얻을 수 있을지 의심됩니다. 다른 도구에 액세스할 수 있는 경우 다음과 같은 옵션이 있습니다.

  1. 진주

    perl -pe ' /x/ && /y.*y/ || next' file
    
  2. awk '/x/ && /y.*y/' file
    

내가 생각할 수 있는 다른 접근 방식은 @jofel의 세 가지 접근 방식을 사용해야 합니다.

관련 정보