在上传到网络之前,我有一个在本地预览的 html 文件。其中有指向本地 pdf 文件的链接。要上传,我必须在 pdf 的前面加上一个网址。
这是我的本地 html 文件的示例 -
<a href="randomFilename.pdf">Article HERE</a>
这就是我的网络版本需要修改的方式 -
<a href="https://www.site.com/folder1/folder2/randomFilename.pdf">Article HERE</a>
所以https://www.site.com/folder1/folder2/
需要添加到完全随机的 pdf 文件名中。我不知道 SED 是否可以做到这一点。我们可以搜索“pdf”,但是如何向后添加这个前缀呢?我搜索了 50 个 sed 命令页面,但找不到执行此操作的线索。
最简单的事情就是在捕获组中捕获文件名。设置
-E
标志后,您可以为此使用普通括号。(或者您可以使用\(
和\)
不使用-E
标志。)然后您可以\1
在替换中引用它。这会查找以 开头的模式,
<a href="
后跟除双引号(捕获在捕获组中)之外的一系列任何内容,.pdf"
然后将其替换为相同但https://www.site.com/folder1/folder2/
在捕获组之前的模式。我假设您总是使用双引号来打开和关闭 URL,并且没有任何 pdf 链接已经包含协议、域等。