1

Я хочу передать curl вывод из awk

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

Как я могу этого достичь ?!

2 ответа2

3

Используйте 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
0

Попробуйте, это не проверено, но должно работать.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .