空でない前の行から得られた値で最初の列の空白を埋める方法は?

空でない前の行から得られた値で最初の列の空白を埋める方法は?
Sample Input:
James  account
       note
       money
Ruby   account
       money
Taylor account
       note
Rob    money


Desired Output:

James  account
James  note
James  money
Ruby   account
Ruby   money
Taylor account
Taylor note
Rob    money  

上記の出力からわかるように、最初の列のすべてのスペースは空でない前の行から得られた値で埋められます。私はKSH、Linux x86を使用しています。私はawkとsedを好む。

ベストアンサー1

それはまるで

awk 'NF>1 {x=$1; print; next} {print x,$1}' Input
James  account
James note
James money
Ruby   account
Ruby money
Taylor account
Taylor note
Rob    money

出力整列を美しくするには、パイプで接続してください。column -t

おすすめ記事