假设我有 90 个 HTML 文件,我必须在每个文件的头部添加一个新的 JS 脚本链接。现在,我可以使用一些代码编译器的 F&R 引擎
喜欢:
find: </head>
replace it with: link to JS script</head>
但是我不喜欢这个解决方案,因为之后的代码很混乱。
我想知道 - 如何使用 grep 在特定目录中的所有 .html 文件的标签前插入新的脚本链接?
答案1
grep
不会替换或修改文件。使用sed
:
sed -i 's|</head>|link to JS script</head>|' *.html
怎么运行的
-i
告诉 sed 就地修改文件。
最重要的sed
命令是 substitute。它的形式为s|old|new|
其中old
是正则表达式。在这里,我们</head>
用替换link to JS script</head>
。
*.html
告诉 sed 对 shell 在当前目录中找到的所有 html 文件进行操作。
答案2
你可以在 Ex 模式下使用 Vim:
for q in *.html
do
ex -sc '%s.</head>.link to JS script&.|x' "$q"
done
%
选择所有行s
代替x
保存并关闭