텍스트 파일에서 하나 이상의 줄을 찾아야 합니다.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의 답변보다 짧은 내용을 얻을 수 있을지 의심됩니다. 다른 도구에 액세스할 수 있는 경우 다음과 같은 옵션이 있습니다.
진주
perl -pe ' /x/ && /y.*y/ || next' file
앗
awk '/x/ && /y.*y/' file
내가 생각할 수 있는 다른 접근 방식은 @jofel의 세 가지 접근 방식을 사용해야 합니다.