使用 sed 匹配任何内容和 s



我有以下内容:

sed -i "s/SYNFLOOD_RATE  = "100/s"/SYNFLOOD_RATE  = "10s"/g"

问题是如何避免此错误?

/bin/sed: -e expression #1, char 28: unknown option to `s'

有没有办法进行外卡匹配并替换为 sed?

你的斜杠太多了,4 而应该有 3。 使用不同的分隔符;逗号 (,)、bang (!)、哈希 (#) 和 at (@) 是常见的替代方法。

sed -i "s,SYNFLOOD_RATE = "100/s",SYNFLOOD_RATE = "10s",g"

请注意,原件中有"100/s",替换中有"10s"(无斜杠)。 要实际插入反斜杠,您需要输入其中的 4 个:10\\s . 每对将被 shell 减少为单,然后剩余的双打将被解释为文字反斜杠 sed .

如果你想先grep然后替换:

sed -i '/SYNFLOOD_RATE  = "100/s/"/SYNFLOOD_RATE  = "10s"/replacement/g'

但是分隔符可以是除/以外的任何内容,请参阅:

sed -i '/SYNFLOOD_RATE  = "100/s@"/SYNFLOOD_RATE  = "10s"@replacement@g'

(这里的分隔符是@

相关内容

  • 没有找到相关文章

最新更新