Bash

Curl / Grep 僅在匹配時將輸出保存到帶有 URL 的文件

  • July 18, 2020

我只想保存輸出.txt文件,前提是它與 Grep 和 Curled URL 匹配。

例如我現在擁有的:

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

它從文件中讀取 URL domain.txt,但是saveme.txt即使字元串不匹配,它也會創建 +saveme.txt如果匹配,則內部沒有捲曲的 URL。

預期產出saveme.txt

https://example.com/matchme!?random=param - matchme!

https://example2.com/matchme!- 匹配我!

https://example3.com/matchme!- 匹配我!

我將如何建構這樣的腳本?

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

如果您正在尋找固定字元串,請添加-Fto的選項。grep

引用自:https://unix.stackexchange.com/questions/599086