У меня есть Perl-скрипт, который записывает массив, заполненный целыми числами, в stdout, каждый в отдельной строке. Таким образом, я получил бы вывод как:
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
Что-нибудь особенное, что мне нужно сделать, чтобы использовать вывод сценария perl в xargs?
Спасибо