У меня есть скрипт, s1
который выводит список чисел, разделенных ',' например 1,2,3,4
. Теперь я хочу дать эти числа сценарию в s2
качестве аргументов, чтобы s2 запускался на каждом из них и выводил свой результат в отдельной строке. Например, если s2 умножает числа на два, это будет результат, который я ищу:
2
4
6
8
Что я делаю сейчас:
s1 | xargs -d "," | xargs -n1 s2
Но я чувствую, что делаю это так глупо! Итак, мой вопрос:
Как правильно это сделать?
Моя проблема с моим решением состоит в том, что он дважды вызывает xargs и дважды перебирает ввод, что, конечно, не является разумным для меня из-за производительности! Ответ xargs -d "," -n1
кажется хорошим, но я не уверен, что он повторяется только один раз. Если это произойдет, пожалуйста, подтвердите это в своем ответе, и я приму это. Кстати, я бы предпочел не использовать Perl, поскольку он все еще повторяется дважды, а также Perl может не существовать во многих системах.
s1 | xargs -d "," -n1 s2