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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在linux命令中替换多个文件中的字符串相关的知识,希望对你有一定的参考价值。

我需要替换文件夹中许多文件中的字符串,只需要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. 斜杠在您调用sed时用作分隔符,因此需要解决这种歧义
  2. 您在搜索词中使用单引号,但也包含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批量替换多个文件中字符串

linux系统替换文件怎么替换

如何在linux终端上替换多个文件中的一行? [复制]

如何用sed命令替换一行中的某个字符串

shell :linux sed 批量替换字符串

linux下批量查询文件内容字符串并替换