最初の「,」を除くすべての項目を「に変更します。「ファイルの各行について(bash)[重複]

最初の「,」を除くすべての項目を「に変更します。「ファイルの各行について(bash)[重複]

私はbashを使用しており、データの2つの列(App、Blurb)のみが必要なcsvファイル(dat.csv)がありますが、各行に「、」が多いため、多くの列になります。

問題のあるcsv.datの例:

 App , Blurb
 diff, this is the diff program, bla bla bla, yadda yadda
 word, this is ms product, it is not very good, I dont like it
 dd, this is a Linux disk application , its awesome!, bla bla, ttly
 ... 

私が経験している問題は、「Blurb」列に追加の「」があるため、データがdat.csvファイルの後続の列(c、dなど)にパイプされることです。

目的は、各行の最初の「、」を除くすべての項目を「COMMA」に変更して、すべての「Blurb」データが列Bに保持されるようにすることです。

たとえば、希望の出力は次のようになります。

 App, Blurb                 
 diff, this is the diff program<COMMMA> bla bla bla<COMMA> yadda yadda
 word, this is ms product<COMMA> it is not very good<COMMA> I dont like it
 dd, this is a Linux disk application <COMMA> its awesome!<COMMA>bla bla<COMMA> ttly
 ...

ありがとうございます!

ベストアンサー1

GNUの使用sed:

sed 's/,/<COMMA>/2g' infile

または移植性のために:

sed 's/,/<COMMA>/g; s/<COMMA>/,/' infile

おすすめ記事