だから私のファイルにはCSV形式をほとんど表すいくつかのテキストがありますが、正確ではありません。しかし、CSVファイルに変換したいです。
たとえば、次のようになります。
cuz,0,1,2,3,-4,abc,a b c,0
どうすればそれを変更できますか?
"cuz",0,1,2,3,-4,"abc","a b c",0
どんな助けでも大変感謝します!
よろしくお願いします。
答え1
愚かな方法:
gawk -i inplace -F, '{for(i=1;i<=NF;i++){
if ($i!~/^-?[0-9]*$/) $i=sprintf("\"%s\"",$i); }}1' OFS=',' file
コンテンツfile
:
"cuz",0,1,2,3,-4,"abc","a b c",0
-i inplace
- 許可する所定の位置にファイルの変更
$i!~/^-?[0-9]*$/
- パターンは、数字以外の文字を含むフィールドにのみ一致します。