我需要替换一个文件夹中很多文件中的一个字符串,只能通过 ssh 访问服务器。我该怎么做?
例如我想替换所有包含代码的文件
<script src='http://cdn.adplxmd.com/adplexmedia/tags/xbanner/xbanner.js?ap=1300' type='text/javascript'></script>
我想用我的名字替换它:sultan
我做这样的事情:
sed -i 's/<script src='http://cdn.adplxmd.com/adplexmedia/tags/xbanner/xbanner.js?ap=1300' type='text/javascript'></script>/sultan/g' *
但问题是我在 linux 命令中看到错误消息:
sed: -e expression #1, char 20: unknown option to `s'
我该如何解决这个问题?
最佳答案
有两个错误:
- 斜杠在调用 sed 时用作定界符,因此需要解决这个歧义
- 您在搜索词中使用了单引号,但也将 sed 参数括起来。
你可以尝试这样的事情:
sed -i "s|<script src='http://cdn.adplxmd.com/adplexmedia/tags/xbanner/xbanner.js?ap=1300' type='text/javascript'></script>|sultan|g" *
关于linux - 如何在linux命令中替换多个文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47954475/