Я хочу передать curl вывод из awk
./jspider.sh http://www.mypage.com | grep 'resource' | awk '{print $4}' | curl OUTPUT_FROM_AWK | grep myString
Как я могу этого достичь ?!
Используйте 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
Попробуйте, это не проверено, но должно работать.
for a in $(./jspider.sh http://www.mypage.com | grep 'resource' | awk '{print $4}'); do curl $a | grep myString; done