Webページに特定のテキストが含まれている場合のURLリストの作成[閉じる]

Webページに特定のテキストが含まれている場合のURLリストの作成[閉じる]

「XYZ」というテキストが含まれているかどうかに応じて、WebページのURLリストを作成しようとしています。

URLの形式は次のとおりです。

https://www.website.tld/page.php?var1=???&var2=static

???は、1から始まり、エラーページ(「ERROR」というテキストを含むページ)が表示されるまで、毎回1ずつ増加する数字です。

一致するURLを出力ファイルにダンプしたいです。私はカールがそのようなURLを順次スキャンし、その出力をgrepに渡すことができることを読んだ。しかし、grepの出力後にURLを検索して保存する方法がわかりません。

答え1

以下がないと、URLを作成するのが簡単になる可能性がありますcurl

for ((i=1; i<1000; i++)); do
    url="https://www.website.tld/page.php?var1=${i}&var2=static" 
    if curl -s "$url" | grep -q XYZ; then
        echo "$url" >> positive-matches.txt
    fi
od

答え2

私は作業スクリプトを作成しました。誰もが役立つ場合に備えて共有してください。 @nohillsideの答えが役に立ちました。

#!/bin/bash

count=1

while true
do
    url="https://www.website.tld/page.php?var1=${count}&var2=static"

    text=`curl -s "$url"`

    if echo "$text" | grep -q "ERROR"
    then
        break
    elif echo "$text" | grep -q "XYZ"
    then
        echo "$url" >> matches.txt
    fi

    ((count++))

done

関連情報