对 Web 服务器上的文件运行 grep 或其他命令

对 Web 服务器上的文件运行 grep 或其他命令

我在另一个域上有文件。对它们使用命令(例如 grep)的最佳方法是什么?

wget http://path/to/file.txt | grep search

然而这不起作用。我想我可以使用,curl但是有更有效的方法吗?

答案1

为了使管道正常工作,第一个命令需要写入标准输出wget通常不会这样做,但有一种方法可以请求它。来自 wget(1) 手册页:

-O file
--output-document=file
文档不会写入相应的文件,但所有文档将连接在一起并写入文件。如果 - 用作文件,文档将打印到标准输出

所以这样做

wget -O - http://what/ever | grep something

您可能会发现wget在此上下文中的进度报告输出非常冗长,在这种情况下添加选项-q以使其安静下来。

wget -q -O - http://what/ever | grep something

那么除了匹配的行之外,您将什么也得不到输出。

答案2

curl除了 之外,您还可以使用来执行此操作wget

$ curl -s <url> | grep <pattern>

例子

$ curl -s http://textfiles.com/100/914bbs.txt | grep Colorama
965-7600 /Colorama        / CoCo / 300/1200 /General BBS
开关细节
   -s, --silent
        Silent  or  quiet  mode.  Don't  show progress meter or error 
        messages.  Makes Curl mute. It will still output the data you ask 
        for, potentially even to the terminal/stdout unless you redirect it.

相关内容