サブタイトルの情報を使用して新しい列を追加します。

サブタイトルの情報を使用して新しい列を追加します。

sedを使用してパターンを含む行を置き換える

@don_crisstiと@Archemarに感謝します。私の質問は上記の質問と重複していないようです。

以下は入力例です。編集する:すべての部品に価値があります。私は字幕に別の複雑な内容を追加しました。

DATA1

NAME: A (X)
12,1
13,2
14,4

NAME: B (X)
21,2
22,3

NAME: C (X)
24,4

必要な出力は次のようになります。

DATA1

A    12,1
A    13,2
A    14,4

B    21,2
B    22,3

C    24,4

ベストアンサー1

出力区切り文字は4つのスペースであるため、この例ではこれを使用します。必要に応じて変更します(例:TAB)。OFS="\t"

awk 'NR==1 || NF==0 {print; next}  # main heading and blank lines 
     $1=="NAME:" {name=$2; next}   # section name/header
     {print name, $1}              # data lines
    ' OFS="    " file

出力:

DATA1

A    12,1
A    13,2
A    14,4

B    21,2
B    22,3

C    24,4

おすすめ記事