我有一個 html 頁面 url,我想 grep 它。我怎樣才能做到呢wget someArgs | grep keyword
?
我的第一個想法是wget -q -O - url | grep keyword
,但是 wget 的輸出繞過 grep 並以其原始形式出現在終端上。
答案1
最簡單的方法是curl
與選項一起使用-s
沉默的:
curl -s http://somepage.com | grep whatever
答案2
為了完整起見保留這一點。
你的例子應該確實有效。語法正確,且這是我剛剛進行演示的截圖視頻,使用舊的 GNU wget
1.13.4。
wget -q some-url -O - | grep something
因此,假設您的模式是錯誤的,並且grep
只會輸出它得到的所有內容。
答案3
如果您正在尋找 grep 或管道標頭,它們是標準定向到 stderr 的,因此您需要重定向它們。例如:
wget -O - http://example.com/page.php > /dev/null 2>&1 | grep HTTP
答案4
將wget
其輸出寫入stderr
not to stdout
,因此需要將其重新導向stderr
至stdout
:
wget -q -O - url 2&>1 | grep keyword