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

问题描述 投票:0回答:1

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

我该如何解决这个问题?

linux bash file replace command
1个回答
1
投票

有两个错误:

  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" *
© www.soinside.com 2019 - 2024. All rights reserved.