Sed
SED - 將 URL 前綴添加到隨機 pdf 文件名
在上傳到網路之前,我有一個在本地預覽的 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
在替換中引用它。sed -E 's#<a href="([^"]*)\.pdf"#<a href="https://www.site.com/folder1/folder2/\1.pdf"#g' filename.html
這會查找以 開頭的模式,
<a href="
後跟除雙引號(擷取在擷取組中)之外的一系列任何內容,.pdf"
然後將其替換為相同但https://www.site.com/folder1/folder2/
在擷取組之前的模式。我假設您總是使用雙引號來打開和關閉 URL,並且沒有任何 pdf 連結已經包含協議、域等。