行の最初の列に文字列があるまで、行の最初の列を次の行に印刷する方法

行の最初の列に文字列があるまで、行の最初の列を次の行に印刷する方法

例 次のファイルデータがあります。

A  aaa
"  bbb
"  ccc
B  ddd
"  eee
C  fff

私が探しています

A aaa
A bbb
A ccc
B ddd
B eee
C fff

ベストアンサー1

非常に簡単な要件awk

$ cat inputfile
A  aaa
"  bbb
"  ccc
B  ddd
"  eee
C  fff
$ awk -f '$1 != "\"" { leader=$1 }  { $1 = leader; print }' inputfile
A aaa
A bbb
A ccc
B ddd
B eee
C fff

おすすめ記事