여러 검색어에 awk 열 검색 명령 사용

여러 검색어에 awk 열 검색 명령 사용

awk아래 명령 에서 두 번째 열의 키워드를 검색하려면 mouse어떻게 해야 검색을 수행할 다른 검색어를 추가할 수 있습니까?mouse 그리고 keyboard" 또는"mouse 또는 keyboard"?

여러 명령을 실행하는 것을 피하고 싶습니다.

awk -F'\t' '$2~/mouse/' allcombined.txt

답변1

추가하려면그리고여기에 사용된 조건 &&:

awk -F'\t' '$2~/mouse/ && $3 ~ /keyboard/' allcombined.txt
                       ^
                        \---

(선택적으로 "키보드"와 일치하도록 필드 3이 필요합니다.

추가하려면또는조건 및 용도 ||:

awk  -F'\t' '$2~/mouse/ || $2 ~ /keyboard/' allcombined.txt

(여기서 필드 2는 "마우스" 또는 "키보드"와 일치할 수 있습니다).

논리가 세 가지 요소를 넘어서면 괄호를 사용해야 합니다.

awk  -F'\t' '($2~/mouse/ || $2 ~ /keyboard/) && $4 ~ /CIO/' allcombined.txt

답변2

코드 에서 awk테스트에 다음과 같이 말하게 하세요.

$2 ~ /mouse/ || $2 ~ /keyboard/

||아니면 " 그리고" 로 바꾸세요 &&.

이는 정규식 일치를 수행합니다( /mouse/문자열과 일치 a mouse called Henry). 정확한 문자열 비교를 수행하려면 $2 == "mouse"예를 들어 다음을 사용하십시오.

답변3

$ awk  -F'\t' '$2~/(mouse|keyboard)/ && $3~/(x|y)/'

관련 정보