如何在linux命令中替换多个文件中的字符串

时间:2017-12-23 17:22:43

标签: linux bash file replace command

我需要替换文件夹中很多文件中的字符串,只需要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'

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

有两个错误:

  1. 斜杠在你对sed的调用中被用作分隔符,所以这种歧义需要解决
  2. 您在搜索字词中使用单引号,但也包含sed参数。
  3. 您可以尝试这样的事情:

    sed -i "s|<script src='http://cdn.adplxmd.com/adplexmedia/tags/xbanner/xbanner.js?ap=1300' type='text/javascript'></script>|sultan|g" *