모든 링크를 가져 오려고합니다 materialdesignicons.com
! 다음을 수행합니다.
curl -X GET https://materialdesignicons.com | grep -i "<link href=" | grep -v "<link href="
그러나 아무것도 출력하지 않습니다. 모든 것이 작동합니다 grep -v
!
이것을 분해 해보자 :
웹 페이지 잡기
curl -X GET https://materialdesignicons.com
패턴에 대한 검색 (대소 문자에 관계없이)을 통해 결과를 제공합니다. <link href=
grep -i "<link href="
패턴 과 일치하지 않는 행을 검색하여 결과의 다음 단계를 제공합니다.<link href=
grep -v "<link href="
결과적으로 <link href=
하나 이상의 문자가 대문자로 표시된 텍스트 일치에 대해서만 일치 항목을 얻을 수 있습니다. 예를 들면
<link href= # Will not match
<link HREF= # Will match
<LinK HrEf= # Will match
모든 link href
값 을 나열하려면 여러 줄로 분할되지 않은 링크와 일치하는 다음을 시도해 볼 수 있습니다.
curl -X GET https://materialdesignicons.com | grep -Po "(?<=link href=([\"'])).*?(?=\g1)"
특별히 유쾌한 정규 표현식이 아니므로 분해 해 보겠습니다.
(?<=link href=([\"'])) # Look for "link href=" followed by either single or double quote
.*? # Match and output the shortest possible string until...
(?=\g1) # We have found a repeat of the quote we found earlier
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다