繁体   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