
awk
次のコマンドで2番目の列のキーワードを検索するには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は「マウス」または「キーボード」と一致できます)。
ロジックが3つの要素を超える場合は、括弧を使用する必要があります。
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)/'