grepを使用したフィルタリング

grepを使用したフィルタリング

次の行を含むfile.txtがあるとします。

hello myname1 is yellow.pcapng red
festive myname33 is hddd.pcapng dfdf
crude myname44 is hello.pcapng

私の目標は、次のようにout.txtとして出力されるように行をフィルタリングすることです。

myname1 yellow.pcapng
myname33 hddd.pcapng
myname44 hello.pcapng

これで、次のものが利用できることがわかりました。

grep -oh "\w*myname\w*" /tmp/file.txt  > /tmp/out.txt
grep -o '[^ ]\+g' /tmp/file.txt > /tmp/out.txt 

式の対応する2つの部分を別々に取得します。これらのコマンドを組み合わせて目的の出力を得るにはどうすればよいですか?

ベストアンサー1

サンプルデータが与えられたら、単語#2と#4が抽出したいと仮定できます。これをawkで表現できます。

awk '{ print $2, $4 }' < /tmp/file.txt > /tmp/out.txt

おすすめ記事