我有一個 html 檔案,base64 影像編碼在這個檔案中。
</div><img src='data:image/png;base64,{base64-string} class='pic' style='position:absolute;width:100%;height:100%;index:7102;'/></div></div>
我想使用 bash shell 提取 base64 img 字串并保存到 png 檔案。
我的主要問題是如何從 html 中洗掉 base64 字串。( {base64-string}
)
我嘗試使用 xmllint --xpath
但不必要的字串
class='pic' style='position:absolute;width:100%;height:100%;index:7102;'/>
被包括在內。
uj5u.com熱心網友回復:
從最小的、可重現的示例角度來看,您的源 HTML 是有問題的。您的標簽沒有正確打開/關閉,并且單引號src=...
沒有關閉。如果源 HTML 更改為:
<div><img src='data:image/png;base64,{base64-string}' class='pic' style='position:absolute;width:100%;height:100%;index:7102;'/></div>
xmllint
您可以使用和 bash 引數擴展提取 base64 字串:
$ var=$(echo "<div><img src='data:image/png;base64,{base64-string}' class='pic' style='position:absolute;width:100%;height:100%;index:7102;'/></div>" | xmllint --xpath "string(//div/img/@src)" -); echo "${var##*,}"
{base64-string}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532256.html
標籤:xml重击