CSVファイルでN番目の区切り文字を置き換える方法は?

CSVファイルでN番目の区切り文字を置き換える方法は?

次の例には、カンマ区切りのCSVファイルがあります。

1,92345,92345,Dear user, this is your amount , 2016-10-10 
2,92345,92345,Dear user, this is your amount , 2016-10-09

その後の4番目のカンマをパイプラインに置き換えます。,Dear user|

ベストアンサー1

を使用すると、置き換えたいパターンの発生項目をsed正確に知ることができるため、次のようになります。sed

sed 's/,/|/4' infile

あるいは、他のソリューションを使用することは次のとおりです。

sed -r 's/^([^,]*,)([^,]*,)([^,]*,)([^,]*),(.*)/\1\2\3\4|\5/' infile

おすすめ記事