src
웹페이지의 HTML에서 속성 과 관련된 링크를 필터링하려고 합니다 .
나는 URL 링크를 필터링하기 위해 curl
html과 아래 명령을 사용했습니다.sed
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)
Lookbehind는 (?<=src=)
문자열의 현재 위치에서 앞에 문자가 있다는 것을 주장합니다 src=
. 그런 다음 "
jpg 또는 png로 끝나는 것을 제외한 모든 것을 찾습니다 .