【发布时间】: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