Webにアップロードする前にローカルにプレビューできるhtmlファイルがあります。ローカルPDFファイルへのリンクがあります。アップロードするには、PDFの前にURLを追加する必要があります。
以下は私のローカルHTMLファイルの例です。
<a href="randomFilename.pdf">Article HERE</a>
私のWebバージョンを変更する方法は次のとおりです。
<a href="https://www.site.com/folder1/folder2/randomFilename.pdf">Article HERE</a>
したがって、https://www.site.com/folder1/folder2/
完全に任意のPDFファイル名に追加する必要があります。 SEDがこれを行うことができるかどうかわかりません。 「pdf」を検索できますが、このプレフィックスを逆に追加するにはどうすればよいですか? 50個のsedコマンドページを検索しましたが、その手がかりが見つかりませんでした。
答え1
最も簡単な方法は、キャプチャグループからファイル名をキャプチャすることです。-E
フラグを設定したら、通常の角かっこを使用できます。 (またはフラグなしで\(
andを使用することもできます。)その後、交換\)
で-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リンクがないとします。