特定部分抽出

特定部分抽出

複数のセクションがあり、各セクションは複数行で構成されます。たとえば、

#--- Section 1 ---
Start  
Lookup.mdc|123|xyz|  
String  
End
#--- Section 2 ---
Start  
Lookup.mdc|123|xyz|  
Integer  
End  

私の要件は次のとおりです。以下を含む部分のみを抽出する必要があります。整数(データ型検索)が含まれています。

予想出力:

Start  
Lookup.mdc|123|xyz|  
Integer
End

答え1

awk 'BEGIN {RS="^--- Section [0-9]+"} /Integer/ {print}'

入力をパイプで連結するか、末尾にファイル名を追加してください。

これが基本的な動作なので、そうする必要はありませんが、{print}より明確にするために入れました。

BEGIN入力を処理する前に実行し、RSレコードを区切る行に一致するようにマジック変数(レコード区切り記号)を設定します。

整数を含むレコードと一致します/Integer/

関連情報