给定一个带有以下行的输入流:
123
456
789
098
...
Run Code Online (Sandbox Code Playgroud)
我想打个电话
curl -s http://foo.bar/some.php?id=xxx
Run Code Online (Sandbox Code Playgroud)
xxx是每行的编号,每次让awk脚本从curl输出中获取一些写入输出流的信息.我想知道如果不使用awk"system()"调用以下方式是否可行:
cat lines | grep "^[0-9]*$" | awk '
{
system("curl -s " $0 \
" | awk \'{ #parsing; print }\'")
}'
Run Code Online (Sandbox Code Playgroud)
小智 0
shell 循环将实现类似的结果,如下所示:
#!/bin/bash
for f in $(cat lines|grep "^[0-9]*$"); do
curl -s "http://foo.bar/some.php?id=$f" | awk '{....}'
done
Run Code Online (Sandbox Code Playgroud)
执行类似任务的替代方法包括使用 Perl 或 Python 与 HTTP 客户端。