【发布时间】:2021-08-16 08:56:57
【问题描述】:
有一组.html 文件位于不同的文件夹中。
假设结构是:
--folder
|--files.html
|--filename.html
--folder2
|--files.html
在files.html 中有一个类似href="filename.html" 的引用。实际上,当您看到这样的引用时,这意味着 filename.html 与引用它的 files.html 位于同一文件夹中。而不是这个href,href 应该是href="folder/filename.html"。
可能有大量文件夹和许多文件具有此类引用,我无法硬编码名称。
有没有办法扫描文件并使用 bash 进行 infile 替换?
【问题讨论】:
-
看看
find(1)递归搜索文件的命令和可能sed(1)编辑文件的命令。 -
您不需要进行该更改。如果浏览器显示“folder/files.html”,则相对 URL“filename.html”将引用“folder/filename.html”。您想在这里解决什么问题?
-
我认为在 Bash 中没有简单的方法可以实现这一点。更好地寻找专门为此任务开发的软件。
-
是的,我同意这个要求是违反自然的。但是托管这些 html 的网站不处理此类链接。它期望看到像
href='folder/file.html'这样的模式,即使文件位于在同一个文件夹中
标签: bash sh relative-path absolute-path