grep名を使用して複数行を1行に隠す

grep名を使用して複数行を1行に隠す

これを助けることができますか?

item : name_1 
       213321654
       32549846546
item : name_2 
       8563161631
item : name_3
       96315242161
       73216510631
       51654316416

変換が必要

item : name_1  213321654 32549846546
item : name_2  8563161631
item : name_3  96315242161 73216510631  51654316416

ベストアンサー1

これはgrepではなくawkの操作です。

awk 'NF==1 { printf " %s", $1 } 
     NF>1 { printf "%s%s",l,$0; l="\n" ;} 
     END { printf "%s",l ;}'

主なヒントは、printf新しい行の挿入を防ぐことです。

おすすめ記事