2010-04-25 2 views
2

curl을 사용하여 명령 행에서 URL을 가져 와서 패턴으로 파이프하고 해당 패턴과 일치하는 URL 목록을 리턴하고자합니다.컬의 출력에서 ​​패턴을 추출하십시오.

패턴의 탐욕스러운 측면에 문제가있어, 지나칠 수 없습니다. 이것에 대한 어떤 도움도 감사 할 것입니다.

curl http://www.reddit.com/r/pics/ | grep -ioE "http://imgur\.com/.+(jpg|jpeg|gif|png)" 

그래서, 정규식은 한 줄에 하나 개 이상의 패턴을 반환 할 수 onless, 일부 바꿈은 어떻게 든 교체해야 할 수 있습니다 HTML의 혼란을 반환 URL에서 데이터를 잡아. 재잘는 일치하는 모든 문자열 ... http://imgur.com/
  • 는 AZ 0-9 아리조나이 (어쩌면 일부 다른) 지금까지, 5 개 문자 길이와

    • 시작은 8 영원히 그것을 커버해야한다, 아주 간단합니다 나는 기본 설정으로, 해당 URL에서 나는 .grraphic_file_format_extention하지
    • 끝을 수행 후두둑의 측면 (JPG, JPEG, GIF, PNG) 그것에 대해

    그게 전부를 제한하기를 원할 때 , 나는 일반적으로 좋은 이미지를 찾아야한다. 나는 같은 페이지에 대해 RSS 느낌 URL을 사용하는 것에 대해 반대하지 않을 것이다. 실제로 구문 분석하기가 더 쉬울 수도있다.

    감사합니다. 신속한 답변에 대한

    편집 감사합니다, 내 마지막 명령이 있습니다 :

    $curl -s http://www.reddit.com/r/pics/ | grep -ioE "http:\/\/imgur\.com\/.{1,10}\.(jpg|jpeg|gif|png)" 
    
  • +0

    은 당신이 진짜 XML 라이브러리를 사용 의향이 있습니까? http://www.reddit.com/r/pics/.rss는 꽤 유효한 RSS가 아니지만 올바른 형식의 XML입니다. –

    +0

    임 하나는 단지 "하나의 라이너"를 찾고 있습니다. 그 명령은 지금 당장 실행하고 싶습니다. 나는 루프를 위해 bash로 감싸고, 10 명 정도의 디렉토리를 삭제합니다. – user170579

    답변

    2

    시도 :

    http:\/\/imgur\.com\/.{5,8}\.(jpg|jpeg|gif|png) 
    
    +0

    고마워, 아프지 않아도 원본을 편집 해 보시고, 여기 내 마지막 명령이 있습니다 : $ curl -s http://www.reddit.com/r/pics/ | grep -ioE "http : \/\/imgur \ .com \ /. {1,10} \. (jpg | jpeg | gif | png)" – user170579

    관련 문제