在逗號之間的字串周圍添加引號,但不要在數字周圍添加引號

在逗號之間的字串周圍添加引號,但不要在數字周圍添加引號

因此,我的文件中有一些文字幾乎代表 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]*$/- 模式僅匹配包含數字以外的字元的字段

相關內容