我有一个 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
不是stdout
,因此需要将重定向stderr
到stdout
:
wget -q -O - url 2&>1 | grep keyword