src
我正在嘗試從網頁的 html 中過濾與該屬性相關的連結。
我曾經curl
獲取 html 和下面的sed
命令來過濾 url 連結。
curl -s http://www.example.com/ | sed -n '/src/,/jpg/p'
src
我的想法是過濾掉以擴展名開頭和結尾的行.jpg
。但它不起作用,它印出了整個 html。我怎樣才能做到這一點?
答案1
嘗試以下命令:
curl -s http://www.example.com | grep -Po '(?<=src=")[^"]*(jpg|png)'
解釋:
從man grep
:
-o, --only-matching
Print only the matched (non-empty) parts of a matching line,
with each such part on a separate output line.
-P, --perl-regexp
Interpret PATTERN as a Perl compatible regular expression (PCRE)
後行(?<=src=)
斷言在字串中的目前位置,前面的是字元src=
。然後我們尋找除以"
jpg 或 png 結尾之外的所有內容。