簡體   English   中英

如何在Linux命令中替換多個文件中的字符串

[英]How to replace a string in multiple files in linux 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. 在您對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" *

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM