파이프가 없는 awk의 경우 "grep string | grep string"

파이프가 없는 awk의 경우 "grep string | grep string"

할 수 있는 방법이 있습니까?

output | grep "string1" | grep "string2" 

하지만 파이프 없이 awk를 사용한다고요?

그것은 다음과 같습니다:

output | awk '/string1/ | /string2/ {print $XY}'

결과는 일치하는 항목의 하위 집합이어야 합니다.

답변1

기본 작업은 awk인쇄이므로 다음과 같습니다.

output | grep string1 | grep string2

output | awk '/string1/ && /string2/'

예를 들어

$ cat tst
foo
bar
foobar
barfoo
foothisbarbaz
otherstuff

$ cat tst | awk '/foo/ && /bar/'
foobar
barfoo
foothisbarbaz

답변2

awk둘 다 일치하는 행을 찾으 려면string1 그리고 string2, 어떤 순서로든 다음을 사용하세요 &&.

 output | awk '/string1/ && /string2/ {print $XY}'

이들 중 하나( string1또는 둘 다) 를 일치시키려면 다음을 사용하십시오 .string2||

 output | awk '/string1/ || /string2/ {print $XY}'

관련 정보