【发布时间】:2009-11-16 12:29:53
【问题描述】:
我有一个 perl 脚本,它将一个填充了整数的数组写入标准输出,每个数组都在单独的行上。所以我会得到如下输出:
412
917
1
etc
我想做的是能够将此脚本的输出通过管道传输到 xargs,并使用每个整数进行 curl 调用。像这样的:
cat input.json | ./jsonValueExtracter.pl -s exampleId | xargs curl http://brsitv01:8080/exampleId/$1 > example$1.json
下面是我正在使用的一个简单脚本的摘录。
my @values;
while(<STDIN>) {
chomp;
s/\s+//g; # Remove spaces
s/"//g; # Remove single quotes
push @values, /$opt_s:(\w+),?/g;
}
print join(" \n",@values);
但是,这并不像我期望的那样工作。当我运行以下命令时:
cat input.json | perl jsonValueExtracter.pl -s exampleId | xargs echo http://brsitv01:8080/exampleId/$1
我得到了输出:
http://brsitv01:8080/exampleId/ 412 917 1
要在 xargs 中使用 perl 脚本的输出,我需要做些什么特别的事情吗?
谢谢
【问题讨论】:
-
注意:
cat的无用用法:perl jsonValueExtracter.pl -s exampleId < input.json | xargs ...
标签: unix command-line find