Curl/Grep은 일치하는 경우에만 URL이 있는 파일에 출력을 저장합니다.

Curl/Grep은 일치하는 경우에만 URL이 있는 파일에 출력을 저장합니다.

.txt컬 URL이 있는 Grep과 일치하는 경우 에만 출력 파일을 저장하고 싶습니다 .

예를 들어 내가 지금 가지고 있는 것은 다음과 같습니다.

xargs -d '\n' -I LINE bash -c "curl -s -o - 'LINE/matchme!'| grep -o 'matchme!'" > saveme.txt < domain.txt

domain.txt파일에서 URL을 읽는데, saveme.txt문자열이 일치하지 않더라도 +를 생성하고 saveme.txt, 일치하면 컬 URL이 내부에 포함되지 않습니다.

예상 출력saveme.txt

https://example.com/matchme!?random=param- 나랑 어울려!

https://example2.com/matchme! - 나랑 어울려!

https://example3.com/matchme! - 나랑 어울려!

그러한 스크립트를 어떻게 작성합니까?

답변1

pattern='matchme!'
while IFS= read -r domain; do
  url="$domain/matchme!"
  curl -s "$url" | grep -q "$pattern" && printf '%s - %s\n' "$url" "$pattern" >> saveme.txt
done < domain.txt

고정된 문자열을 찾고 있다면 -F옵션에 추가하세요.grep

관련 정보