[Comm] Argument list too long

Evgenii Terechkov =?iso-8859-1?q?evg_=CE=C1_altlinux=2Eru?=
Пт Ноя 3 11:18:18 MSK 2006


"Denis G. Samsonenko" пишет:

>> >> хочу скопировать _много_ файлов
>> >> к примеру
>> >> cp /opt/cache/archives/*.rpm /tmp/
>> >> а получаю Argument list too long
>> >> как принято такие вещи обходить?
>> > find  /opt/cache/archives -name "*.rpm" -exec cp {}  /tmp/ \;

> 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