Unixファイルから一致するすべての単語を出力する必要があります。

Unixファイルから一致するすべての単語を出力する必要があります。

raw.txtというUnixテキストファイルにこのデータセットがある場合

2020-05-28 08:00:32,360 | push_imgs | INFO | Pulled 950-09050294592-FACE.jpg
2020-05-28 08:00:32,373 | push_imgs | INFO | Pulled 950-09050294592-SIGNATURE.jpg

日付と.jpgファイルを印刷するだけです。以下の例のように

2020-05-28 950-09050294592-FACE.jpg

現在、プールと.jpgを使用してすべての行を取得するための次のスクリプトがあります。日付と.jpgファイルを印刷するだけです。

awk '/Pulled/&&/.jpg/' IGNORECASE=1 /home/user/rawfile.txt 

ありがとうございます!

答え1

そのフィールドを印刷してみましたか?

 awk '/Pulled/&&/.jpg/ { print ($1 $9);} ' IGNORECASE=1 yourfile  

答え2

すべての行が質問に表示されている形式であると仮定すると、簡単に使用できますcut

$ cut -d' ' -f 1,9 yourfile
2020-05-28 950-09050294592-FACE.jpg
2020-05-28 950-09050294592-SIGNATURE.jpg

別の行がある場合は、次のようにフィルタリングできます。egrep

$ grep 'jpg[[:blank:]]*$' yourfile | cut -d' ' -f 1,9
$ grep -E 'Pulled .+jpg[[:blank:]]*$' yourfile | cut -d' ' -f 1,9

行末と実際の行末の間にスペースがあっても行末[[:blank:]]*$と一致します。jpg

あるいは、もちろん、awk他の答えに示されている方法を使用してください。

関連情報