引用符の間のコンマを変更せずに、コンマで区切られたものをセミコロンで区切ったものに変更するにはどうすればよいですか?

引用符の間のコンマを変更せずに、コンマで区切られたものをセミコロンで区切ったものに変更するにはどうすればよいですか?

次のようにカンマ区切りのファイルがあります。

123,456,"ABC,DEF"

ファイルをセミコロンで区切られたファイルに変更したいと思います。

123;456;"ABC,DEF"

次のコマンドを実行しましたが、残念ながら引用符の中の;も;に変更されました。これが起こらないようにするにはどうすればよいですか?

sed 's/,/;/g; s/\"//g; s/$/;^/' input.csv > output.csv

ベストアンサー1

引用符の間のコンマを変更せずに、コンマで区切られたものをセミコロンで区切ったものに変更するにはどうすればよいですか?

あなたはそれを使用することができますcsvtool。多くのディストリビューション用にパッケージ化されています。正規表現を使用してcsv形式を処理するのは難しく、エラーが発生しやすいです。

$  csvtool -t ','   -u ';' col 1-  input.csv > output.csv

おすすめ記事