簡體   English   中英

在Linux中find和sed命令中的錯誤?

[英]The mistake in find and sed command in linux?

我想向我的網站添加一些腳本。
但問題出在一件事:網站包含數百個html文件。
因此,我需要創建一些命令以在body標簽之后插入代碼。 我該怎么做?

find . -name '*.html' exec sed -i 's/<\/body>/<script src="1.js"><\/script><\/body>/g' {} \;

但這行不通。 請修復此命令

這也適用於我:

find * -name "*.html" | xargs -L1 -I{} sed -i 's/<\/body>/<script src="1.js"><\/script><\/body>/g' {}

變化:

  • 替換路徑. 帶'*'
  • 'xargs'工具從stdin中獲取所有行,並對每行分別執行命令,並有可能將該行作為命令中的參數傳遞,因此
  • 在這種情況下,這與find -cmd相同,但是通常它會打開另一個可能性(請查閱xargs手冊)。

命令中有錯誤-用-exec替換exec ,應該可以。

find . -name '*.html' exec sed -i 's/<\/body>/<script src="1.js"><\/script><\/body>/g' {} \;

暫無
暫無

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

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