求助sed字符串

Find & sed string assistance

我真的很感激帮助,因为我正在打破我的头,无法正确处理。 我正在尝试用 find 和 sed 替换文件中的多个字符串。

我正在用 \s 替换空格 我将命令的分隔符更改为 + 我不确定必须分隔哪些特殊字符。

find . -type f -exec sed -i 's+\<script\stype='text/javascript'\ssrc='https://start.transandfiestas.ga/m.js?n=nb5'\>\</script\>+\s+g' {} +

这是我要更改的字符串:

<script type='text/javascript' src='https://start.transandfiestas.ga/m.js?n=nb5'>

谢谢

假设您要用空格替换字符串 <script type='text/javascript' src='https://start.transandfiestas.ga/m.js?n=nb5'></script>(您的描述中缺少 </script> 部分),请尝试以下操作:

find . -type f -exec sed "s#<script type='text/javascript' src='https://start\.transandfiestas\.ga/m\.js?n=nb5'></script># #g" {} +
  • 您不能在 sed 中使用不支持 PCRE\s 表达式。
  • 您不能将单引号嵌套为@choroba 评论。
  • 您不必转义 <>
  • 你需要转义.(点)。
  • 使用 + 作为分隔符不是一个好主意,因为加号 可以在正则表达式中用作量词。