【问题标题】:sed repetition-operator operand invalid *****sed 重复运算符操作数无效 *****
【发布时间】:2017-03-24 21:23:24
【问题描述】:

我在某些位置有包含***** 的文本文件。我需要用9.999 替换*****。这显然来自一些格式错误,但我没有创建我现在必须使用的文件的程序。我尝试在 csh 中使用以下命令:

sed -i "" 's/*****/9.999/g' *.dat

但是,正如我所料,我收到以下错误消息:

sed: 1: "s/*****/9.999/g": RE error: repetition-operator operand invalid

我假设这是因为 ***** 被认为是一个特殊的运算符或类似的东西,但我不知道如何在使用 sed 命令时免除它们。

有没有人可以提供帮助的提示?

【问题讨论】:

  • 尝试的第一步是阅读手册;如果这太耗时,请使用反斜杠作为“转义”运算符(例如s/\*\*\*\*\*/9.999/g),因为它是……通用性太强,但很常见不是……非常常见的转义特殊字符的方法,尤其是使用源自 Unix 的旧程序,例如 sed

标签: sed


【解决方案1】:
sed -E 's/\*{5}/9.999/g'  file 

【讨论】:

    猜你喜欢
    • 2021-03-18
    • 2013-03-10
    • 2019-05-09
    • 1970-01-01
    • 2015-08-06
    • 2015-01-17
    • 2014-07-27
    • 2019-07-21
    • 2016-09-09
    相关资源
    最近更新 更多