私のファイルには次のデータが含まれています。
tail fn0 logfile
more tail3 fn0 logfile1
get than tail4 fn0 logfile2
fn0以前のフィールドとfn0以降のフィールドの出力を取得したいと思います。
予想出力:
tail logfile
tail3 logfile1
tail4 logfile2
ベストアンサー1
あなたはそれを使用することができますawk
:
awk -v pattern="fn0" '{for (i=0;i<=NF;i++) {if ($i==pattern) print $(i-1),$(i+1) }}' file
または正規表現パターンを使用したい場合:
awk -v pattern="^fn0$" '{for (i=0;i<=NF;i++) {if ($i~pattern) print $(i-1),$(i+1) }}' file
出力:
tail logfile
tail3 logfile1
tail4 logfile2