[Comm] Argument list too long

Denis G. Samsonenko =?iso-8859-1?q?d=2Eg=2Esamsonenko_=CE=C1_gmail=2Ecom?=
Пт Ноя 3 11:28:30 MSK 2006


Привет!

03.11.06, Evgenii Terechkov написал:
> > man xargs
>
> Читаю. Но не читав до этого и зная всего лишь о "-0" и так активно
> пользовался.
>
> > вот примерно так, как в примерах:
> > find /tmp -name core -type f -print | xargs /bin/rm -f
> > find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f
> > cut -d: -f1 < /etc/passwd | sort | xargs echo
>
> Вы про
>
>        --max-chars=max-chars, -s max-chars
>               Use at most max-chars characters per command line, including the
>               command and initial arguments and the terminating nulls  at  the
>               ends of the argument strings.  The default is as large as possi-
>               ble, up to 20k characters.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Т.е. я, например, хочу чтобы "find /var/cache/apt/archives -type f
> -print0|xargs -0 rm -f" вылилось в вызов минимального количества процессов
> rm, у каждого из которых максимально длинный список аргументов. Это оно и
> есть (я просто уже забыл, сколько там этот лимит. 20к?)?

Там же в мане прямо так и написано. Т.е., на сколько я понимаю, просто
не задавать этот параметр, и он будет разбивать исходный список
аргументов на максимально возможные строки и скармливать их следующей
команде по очереди.

Вроде бы это удовлетворяет аостановке задачи?

-- 
Всего доброго,

Денис.


Подробная информация о списке рассылки community