たとえば、「ここにサンプルテキストファイルがあります」を含むlogfile.txtがあるとします。
私のパターンは「サンプル」です。どうすればlogfile.txtのサンプルの横にあるWordを取得できますか。
Awkでこれを行う1つの方法を次に示します。
$ awk '{for(i=1;i<=NF;i++)if($i=="sample")print $(i+1)}' file
text
説明:
$ awk '{
for(i=1;i<=NF;i++) # process every Word
if($i=="sample") # if Word is sample
print $(i+1) # print the next
}' file
そしてsed:
$ sed -n 's/.* sample \([^ ]*\).*/\1/p' file
text
すなわち。 後sample
次のスペースで区切られた文字列
pCREとポジティブルックバックを使用したgrep:
$ grep -oP '(?<=sample )[^ ]*' file
text
前の説明を参照してください。