我怎样才能卷曲另一个命令的输出

我怎样才能卷曲另一个命令的输出

我想将 awk 的输出传递给 curl

./jspider.sh http://www.mypage.com | grep 'resource' | awk '{print $4}' | curl OUTPUT_FROM_AWK | grep myString

我怎样才能实现这个目标?!

答案1

使用xargs

xargs utility [argument ...]

xargs 实用程序从标准输入读取空格、制表符、换行符和文件末尾分隔的字符串,并utility以字符串作为参数执行。

当然,参数和选项比这个缩短形式还要多。


使用以下一般示例curl

$ echo "http://www.google.com" | xargs curl
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.de/">here</A>.
</BODY></HTML>

在您的具体情况下,它看起来类似于以下内容:

./jspider.sh http://www.mypage.com | grep 'resource' | awk '{print $4}' | xargs curl | grep myString

答案2

尝试一下,它尚未测试但应该可行。

for a in $(./jspider.sh http://www.mypage.com | grep 'resource' | awk '{print $4}'); do curl $a | grep myString; done

相关内容