抓取網頁內容時將數字與固定數字相匹配

抓取網頁內容時將數字與固定數字相匹配

我正在嘗試解析來源網頁,嘗試找到與此類似的所有 href:

href='http://example.org/index.php?showtopic=509480

其中後面的數字showtopic=是隨機的(並且具有 6 個固定位數,例如 123456 - 654321)

while read -r line
do
    source=$(curl -L line) #is this the right way to parse the source?
    grep "href='http://example.org/index.php?showtopic=" >> output.txt 
done <file.txt #file contains a list of web pages

如果我不知道哪個號碼,我怎麼能抓住所有的線?也許用正規表示式進行第二次 grep ?我想在 awk 中使用類似於以下的範圍:

awk "'/href='http://example.org/index.php?showtopic=/,/^\s/'" >> file.txt

或雙重 grep 為:

grep "href='http://example.org/index.php?showtopic=" | grep -e ^[0-9]{1,6}$ >> output.txt 

答案1

cat input.txt |grep "href='http://example.org/index.php?showtopic=" > output.txt

cat 輸出透過管道傳輸到 grep 的檔案內容。 grep 逐行比較它並將整行寫入輸出文字。

或者你可以使用 sed:

 sed -n "\#href='http://example.org/index.php?showtopic=#p"  input.txt >  output-sed.txt

相關內容