我想将 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