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)/'