簡體   English   中英

使用find和sed使用HTML標簽進行批量查找/替換

[英]Using find and sed to do batch find/replace using HTML tags

我需要在我網站上所有頁面(.html和.htm)的結束標記之前添加一個javascript標記。 我在這里使用了另一個問題的指導,但是我的命令不起作用:

find . -name "*.htm*" -print | xargs sed -i 's/<\/head>/<script language="javascript" src="https://secure.appprovider.com.js"><\/script><script language="javascript">InitiateCall('767576styisgsjgshshskshjkshkshs');<\/script><\/head>/g'

我得到:

sed: 1: "./index.html": invalid command code .

我認為問題與正則表達式有關,我需要轉義特定字符嗎?

是的,模式和替換包含/https:之后的https: ),這會使sed混淆。

您需要對它們進行轉義,但是對sed命令使用不同的定界符可能會使它更具可讀性:

's@</head>@<script (etc.) ;</script></head>@g'

此外,某些sed實現(在BSD系統(如OS X)上)需要-i標志的參數。 您可以通過指定''為它提供一個空字符串。

暫無
暫無

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

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