awk
を使用して複数の行から異なる詳細を抽出しようとしています。 しかし、私はテストを実行し、結果の出力を1行に出力しません。AWKを使用して複数の行から情報を抽出
情報は異なるブロックに位置し、私はブロック内の詳細を抽出する必要が..
awk '
TRA TRB TRC
/EKYC/{for(i=1; i<10; i++)
{ (getline p)
if (match(p,"TRA")) { print substr(p,4)}
if (match(p,"TRB")) { print substr(p,4)}
if (match(p,"TRC")) { print substr(p,4)}
}
}
' inputfile
ブロックEKYCがあるだろうとコードTRA TRB TRCはEKYCブロック間に配置されます。テキストファイルは、以下のようなものです
サンプル::ブロックごとに1行で
EKYC
TRA onlyThisTRA1
TRB onlyThisTRB1
THR notThis
EKYC
TRA onlyThisTRA2
TRB onlyThisTRB2
TRC onlyThisTRC2
EKYC
NOT
TRA onlyThisTRA3
YEH not this
TRC onlyThisTRC3
所望の出力..
onlyThisTRA1 onlyThisTRA2 null
onlyThisTRA2 onlyThisTRB2 onlyThisTRC2
onlyThisTRA3 null onlyThisTRC3
あなたが今まで読んで、それはめったに最善のアプローチません(あるいは、適切なもの)と、多くの注意点がありますように完全に最初http://awk.freeshell.org/AllAboutGetlineを理解することを確認してくださいgetline' '使用して検討している場合は/落ちた –