LINUX.ORG.RU

Как боролись с «/usr/bin/find: Argument list too long»?

 ,


1

1

Есть папка с 50 тыс. файлами. Мне нужно переместить её содержимое в другую папку. Выполняю следующую команду:

find /папка_отправления/* -type f -name '*.jpg' -exec mv '{}' /папка_получения/ \;
Получаю ответ:
bash: /usr/bin/find: Argument list too long
Откуда эти дурацкие ограничения?) Как вообще с этим бороться? Пробовал добавить в конце команды «| xargs mv» - ничего не дало... Ситуация просто до невозможности глупая - нужно переместить файлы, а переместить не могу, потому что argument list too long)). Замкнутый круг.

Решение.
Как оказалось, звёздочка в адресе папки отправления была лишней - без неё всё заработало.

~ $ find /usr/ -type f | wc -l
185029
~ $ find /usr/ -type f -exec echo {} \;

всё без проблем. Гугл говорит, что может быть проблема с *. Случайно в пути поиска нет звёздочек? Кавычки вокруг {} я тоже не встречал в мане.

conformist ★★★ ()
Ответ на: комментарий от conformist

Жесть какая-то - убрал звёздочку и всё заработало! :-D Самое удивительное, что именно с таким же синтаксисом (со звёздочкой) запускал эту же команду, но при манипуляции с другой папкой - всё работало. А в этот раз - ни в какую. В смысле, я убрал звёздочку не перед jpeg, а в адресе «/папка_отправления/*» - была звёздочка тут...

Desmond_Hume ★★★★★ ()
Последнее исправление: Desmond_Hume (всего исправлений: 1)
Ответ на: комментарий от Desmond_Hume

В смысле, я убрал звёздочку не перед jpeg, а в адресе «/папка_отправления/*» - была звёздочка тут...

/0

surefire ★★★ ()
Ответ на: комментарий от anonymous

Чичас поставлю, а то сам потом буду читать свою тему и искать мой пост про звездочку)))

Desmond_Hume ★★★★★ ()
Ответ на: комментарий от Desmond_Hume

Логично, чё: при find /папка_отправления/* на директории с 50к файлов ты по сути вызываешь find с 50к путей поиска в качестве аргументов. Не надо так делать просто, find /папка_отправления сам успешно справится с просмотром всего содержимого /папка_отправления и ниже без указания всех файлов поштучно в опциях.

manntes-live ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.