【问题标题】:Add quotation marks to each word in a file为文件中的每个单词添加引号
【发布时间】:2018-01-08 14:32:26
【问题描述】:

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

variable1, variable2, variable3, variable4

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

最终结果应如下所示:

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

【问题讨论】:

  • 你试过什么?请举一些你尝试过的例子。

标签: linux bash list words


【解决方案1】:

只需 sed

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

输出:

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

【讨论】:

    【解决方案2】:

    可以通过参数扩展来完成

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

    然而如果是csv格式,双引号应该在逗号之前没有空格,双引号的原因可能是允许,在一个字段中,但如果字段已经包含逗号,则必须在之前进行引用。

    【讨论】:

      猜你喜欢
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多