
これを助けることができますか?
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
新しい行の挿入を防ぐことです。
答え2
有名な sed oneliner のバリエーションを使用して、条件付きで行を連結できます。
$ sed -e :a -e '$!N;s/\n[[:space:]]\{1,\}/ /;ta' -e 'P;D' file
item : name_1 213321654 32549846546
item : name_2 8563161631
item : name_3 96315242161 73216510631 51654316416