我正在寻找一种编辑成千上万个.html文件的方法,将它们添加到og:url中,其URL基本上取自文件名。基本上,对于每个我想要的.html:
<meta property="og:url" content="https://www.example.com/NAME-OF-THE-FILE.html" />
-
我的想法是搜索 并将其替换为所需的代码: 我不知道如何找到文件名。该怎么办?
-
简单地说:
我搜索并替换所有 .html 文件。
位置:
</head>
替换为:
<meta property="og:url" content="https://www.example.com/{FILENAME}" />
</head>
我该怎么做?我不知道如何获取 {FILENAME} (文件名)
编辑:重击似乎很有趣,但是我对此并不满意,也不知道如何获得它。任何帮助都非常欢迎。
谢谢,谢谢。
答案 0 :(得分:1)
能否请您在单个.html
文件上尝试执行以下命令,并告诉我这是否对您有帮助,如果您看到单个文件正在运行,则可以将其用于所有html文件。这是在Powershell中,并且大部分是Windows内置的。(请先仅在1个文件上尝试它们,因为我还没有测试它们)
(Get-Content test.html) | ForEach-Object { $_ -replace "</head>", "<meta property="og:url" content="https://www.example.com/{FILENAME}" />\n</head>" } | Out-File test.html
OR
powershell -Command "(gc test.html) -replace '</head>', '<meta property="og:url" content="https://www.example.com/{FILENAME}" />\n></head>' | Out-File test.html"
答案 1 :(得分:1)
如果您可以使用bash进行访问,则可以运行以下小脚本:
for i in *.html;do
sed -i "s/</head>/<metaproperty=\"og:url\"content=\"https://www.example.com/$i\"/</head>/g" "$i"
done
编辑:缺少一些反斜杠。正确的sed命令是:
sed -i "s/<\/head>/<meta property=\"og:url\" content=\"https:\/\/www.example.com\/$i\" \/><\/head>/g" "$i"