ファイル1
12584,"Capital of America, Inc.",,HORIZONCAPITAL,USA,......etc
25841,"Capital of America, Inc.",,HORIZONCAPITAL,USA,......etc
87455,"Capital of America, Inc.",,HORIZONCAPITAL,USA,......etc
出力
12584|Capital of America, Inc.||HORIZONCAPITAL|USA|......etc
25841|Capital of America, Inc.||HORIZONCAPITAL|USA|......etc
87455|Capital of America, Inc.||HORIZONCAPITAL|USA|......etc
csvファイルがあり、パイプ(|)で区切られたテキストファイルに変換する必要があります。シェルスクリプトを完了しました。sed 's/^/"/;s/,/|/g;s/$/"/' $File > $Output
ところが問題は「US Capital Corporation」分野だ。カンマが含まれており、パイプ(|)に置き換えられます。だから私はすべてをパイプに置き換えたいのですが、値の中に二重引用符 ""を与えません。
これを実行できるシェルスクリプトはありますか?
ベストアンサー1
使用csvkit
:
$ csvformat -D '|' file.csv
12584|Capital of America, Inc.||HORIZONCAPITAL|USA|......etc
25841|Capital of America, Inc.||HORIZONCAPITAL|USA|......etc
87455|Capital of America, Inc.||HORIZONCAPITAL|USA|......etc
csvkit
Pythonで作成されたCSV操作/クエリツールバー。正しいCSV解析が可能で、デフォルトのcsvformat
カンマ区切り文字を別の文字に置き換えるために使用できます。このユーティリティは、結果がCSVルールに従って正しく引用されていることを確認します。