2013-11-22 4 views
1

토플리스트 wallbase.cc의 모든 이미지를 가져올 셸 파일을 만들려고합니다. 지금까지 나는 html 코드 (using mac so no wget)를 컬하고 이미지에 대한 모든 링크를 붙잡아두고있다. 유일한 문제는 링크를 grep하면 <a href=link> <target=blank>이 반환된다는 것입니다. 내가하려고하는 일은 링크를 추출하여 파일로 감쌀 수있게하는 것입니다. 외부 Java 또는 C 파일을 사용하여 링크를 추출하는 방법에 대해 생각했지만 순수한 bash 방법이 있다고 생각합니다.bash를 사용하여 html 파일에서 링크를 추출하는 방법

도움이 될 것입니다.

편집 : 내 명령 지금까지

그렙 <a href="http://wallbase.cc/wallpaper/' wallbase.source

이 HTML 코드를 포함하여 모든 링크를 반환합니다. 난 그냥 HTML을 제거하고 링크를 남길하기 위해 몇 가지 명령으로 파이프이 필요

+0

에 오신 것을 환영합니다 그것을 수정 할 수 있습니다! 지금까지 시도한 명령을 게시 할 수 있습니까? – joews

+0

Ive는 sed와 awk를 사용하고 심지어 정규 표현식 패턴을 사용해 보았지만 성공하지 못했습니다. – QuinnFTW

+0

시도한 실제의 특정 명령을 게시하면 사람들이 당신을 도울 수 있습니다. – joews

답변

2

당신은 당신의 기본 그렙으로이 모든 작업을 수행 할 수 있습니다

이 옵션은 당신이 grep's man page 무엇을 찾고있을 수 있습니다 :

-E, --extended-regexp PATTERN을 확장 정규 표현식 (ERE, 아래 참조)으로 해석하십시오. (-E는 POSIX에 의해 지정됩니다.)

-o, -only-matching 일치하는 행의 일치하는 (공백이 아닌) 부분 만 출력하고 각각의 부분은 별도의 출력 행에 인쇄하십시오.

curl <URL> | grep -o -E "href=[\"'](.*)[\"'] " 

정규 표현식은 매우 포괄적입니다하지만 당신은 스택 오버플로 여러분의 필요에

+0

고마워, 이것이 내가 찾고 있었고 제 3 자 스크립트를 사용할 필요가없는 것입니다. 감사. – QuinnFTW

0
당신은 하나의 명령으로 그것을 할 수

:

mech-dump --links http://domain.tld/path 

이 명령은 펄 모듈과 함께 제공 WWW::Mechanize

관련 문제