为文件中的每个单词添加引号

Add quotation marks to each word in a file

我在文件中有一些用逗号分隔的单词,如下所示:

variable1, variable2, variable3, variable4

使用 BASH 为每个单词添加引号的最简单方法是什么?

最终结果应如下所示:

"variable1", "variable2", "variable3", "variable4"

可以通过参数展开

str="variable1, variable2, variable3, variable4"
str2=\""${str//, /\", \"}"\"

echo "$str2"

但是要有 csv 格式,双引号应该在没有 space 的逗号之前,双引号的原因可能是允许 , 在一个字段中,但是如果字段已经包含一个逗号必须在引号之前完成。

只需 sed:

sed 's/[^[:space:],]\+/"&"/g' file

输出:

"variable1", "variable2", "variable3", "variable4"