为文件中的每个单词添加引号
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"
我在文件中有一些用逗号分隔的单词,如下所示:
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"