如何结合 wget 和 grep

如何结合 wget 和 grep

我有一个 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 wget1.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,因此需要将重定向stderrstdout

wget -q -O - url 2&>1 | grep keyword

相关内容