【问题标题】:What does the following sed command do: sed -i "s/,$//' <filename>以下 sed 命令有什么作用: sed -i "s/,$//' <filename>
【发布时间】:2021-09-24 03:13:03
【问题描述】:

我是 sed 的新手。

有人能解释一下sed -i "s/,$//' 是什么意思吗?

【问题讨论】:

  • 这意味着您的命令不完整,因为引号不匹配。您已经打开了双引号和单引号,但都没有关闭。
  • 我推荐sed man page

标签: linux shell unix command-line


【解决方案1】:

您的正则表达式似乎不正确,好的文字可能是:

sed -i 's/,$//' "filename"

我用一个简单的 (') 替换了开头的双引号 (")

让我们解释一下:

  • -i in place:参数中给出的文件将被更改。
  • s 替换:s/pattern/string/ 它是替换正则表达式,匹配的 pattern 将替换为 string
  • 模式:,$:将匹配引号 (,) 后跟换行符 (\n)
  • 替换字符串(空): :模式将被简单地删除。

所以你的 sed 命令会像这样转换一个文件

a,b,c,
e,f,g
h,i,j,,

进入

a,b,c
e,f,g
h,i,j,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 2016-07-29
    相关资源
    最近更新 更多