xargs "слишком длинный список аргументов"
Я хочу сделать что-то вроде этого:
cat 5.txt | xargs -0 openssl prime
но xargs говорит, что список аргументов слишком длинный
Редактировать:
cat 3.txt | xargs -n 1 openssl prime | wc -l
работает, спасибо
2 ответа
Вы можете попробовать использовать xargs
"s -n
:
Используйте не более max-args аргументов в командной строке.
Также стоит отметить xargs
может быть сделано для
Напечатайте командную строку на стандартном выводе ошибки перед ее выполнением.
с -t
, что весьма полезно для отладки.
Проблема звучит так, как будто вы не должны использовать -0, -0 для случаев, когда ваши аргументы в файле разделены нулевыми символами вместо $IFS, который обычно является пробелом. Если файл отформатирован с одним аргументом в строке или аргументами, разделенными пробелами, пропустите -0.
Я также предполагаю, что вы не собираетесь его запускать openssl prime arg1 arg2 arg3 arg4...." but instead run
openssl prime arg1then run
openssl prime arg2, then
openssl prime arg3, etc, in which case, add the -1 switch as well, which is shorthand for
-n 1`, если вы действительно хотите запустить один вызов openssl на строку файла, вы хотите:
xargs -1 openssl prime < 5.txt
или с uuoc (бесполезное использование кошки)
cat 5.txt | xargs -1 openssl prime
на не gnu xargs, который не знает опцию -1, это будет:
xargs -n1 openssl prime < 5.txt