できる方法はありますか?
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}'