AWK:一部の行に複数のフィールドを持つ複数行のレコードを解析する方法

AWK:一部の行に複数のフィールドを持つ複数行のレコードを解析する方法

レガシーツール(デーモン)の出力を解析しようとしています。

クエリは次の形式で AK フィールドを出力します。

A: (string)
B: (string)
C: (string)
D: # (#) E: # (#) F: #
G: #/# H: #
I: (timestamp)  J: (string)
K: (string)

一般的なクエリには複数のレコードがあり、各レコードのAKフィールドを解析して、新しいアプリケーションが開発されるまでテーブルに保存できるように準備したいと思います。

私が今まで試したこと:

app -flag display | awk -v RS="" '{for(i=1; i<=NR;i++){print $i}}'

最初の「A」タグのみを受け取り、残りは受け取りません。

注:各フィールドAKグループの間には改行文字「\ n」があります。 Googleで見つけた例ではRS = ""を設定しました。おそらくRS = "\ n"でなければなりませんか?

一部のデータにはスペースが含まれており、役に立ちます。ただし、ラベルが最初のデータ区切り文字に含まれる2つのラベルを含む行は除外されます。

この投稿をどのように仕上げるべきかを見てください。または私のアプローチが可能な場合。

ベストアンサー1

おすすめ記事