awk:列分割、区切り文字の左側を印刷してcsvの中央に貼り付ける

awk:列分割、区切り文字の左側を印刷してcsvの中央に貼り付ける

入力ファイル:

AAA, BBB:XXX, CCC, DDD, EEE, FFF, GGG, HHH

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

AAA, BBB, BBB:XXX, CCC, DDD, EEE, FFF, GGG, HHH

私は次のようなことを考えました。

awk -F, '{n=split($2,a,":"); a[n]} {$2=$NF","$2}1' OFS=,

ただし、最初の「分割」は区切り文字の左の代わりに右を使用し、最後のコピーはBBBの代わりにHHHをコピーします。

ベストアンサー1

ご注文時awk:

awk -F'[:,]' '{$3=$2":"$3}1' OFS=, infile
AAA, BBB, BBB:XXX, CCC, DDD, EEE, FFF, GGG, HHH

おすすめ記事