воскресенье, 15 апреля 2012 г.

sh: /bin/rm: Argument list too long

Эта ошибка выдается при попытке удалить все файлы в папке с очень большим числом файлов:
rm * -f
Но есть обходной путь решения этой проблемы:
find | xargs --no-run-if-empty -n 500 rm -f
При таком подходе файлы будут поступать на вход rm по 500 штук и все быстро удалится.
Или
find ./ -type f -delete
Или
find ./ -name '*' -print0 | xargs -0 -n 10 rm
note: Using "-print0" has additional benefit that it handles white space in filenames properly.
Нагуглено в:
http://phpsuxx.blogspot.com/2010/08/bash-binrm-argument-list-too-long.html
http://wiki.debian.org/CommonErrorMessages/ArgumentListTooLong

Комментариев нет:

Отправить комментарий