【问题标题】:Replace last occurrence of space with sed用 sed 替换最后出现的空格
【发布时间】:2016-04-07 07:22:27
【问题描述】:

我需要使用sed 替换输入文件中最后出现的空格。

我想到的是

sed "s/([ ])[0-9]*$/,/g"

但是,它似乎不想记住它应该替换的空间。运行不带圆括号的命令可以正常工作(对于它应该做的事情 - 替换空格 数字链)。当我添加括号时,它什么也不做。

是的,我知道 this 解决方案,但是当尝试将 \1 传递给 sed 时,它会尖叫“\1 未在 RE 中定义”。

有人愿意帮忙吗?这似乎是一个简单的问题,我很高兴知道解决方案。

【问题讨论】:

  • 我猜你的意思是“each 行的最后一个空格”?或者也许是“在 a 线上?”可能不是“文件中的最后一个空格”,我想?

标签: regex bash


【解决方案1】:

这似乎“第一次”起作用(耶)...

$ sed -e 's/ \([^ ][^ ]*\)$/,\1/' /etc/hosts

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-30
    • 2021-11-16
    • 1970-01-01
    • 2012-08-25
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    相关资源
    最近更新 更多