28 октября 2007

Про rm

Ситуация. Я, не вполне проснувшийся после обеда, сажусь к компу. Происходит такой диалог:
[15:04:04] <Andron> помощь нужна,
[15:04:56] <Andron> есть каталог в нём накопилось дофига файлов, около 11тыс., нужно их грохнуть
[15:05:11] <Andron> ...но:
[15:06:03] <Andron> делаю: rm -f ./*
а он мне: bash: /bin/rm: Argument list too long
и нифига не удаляет :(
[15:06:04] <leonid.phoenix> рм ругается, что аргументов много?
[15:06:14] <leonid.phoenix> а, ну вот.
[15:06:36] <leonid.phoenix> да всяко можно сделать
[15:06:59] <leonid.phoenix> rm `ls | head -n 1000`
[15:07:18] <leonid.phoenix> и так 11 раз
[15:11:59] <Andron> спасибо!!!
[15:12:02] <Andron> помогло!!!
Интересно тут несколько моментов. На такие вещи я напарывался хоть и очень редко, но бывало, и каждый раз изобретал какой-нибудь новый велосипед. Тут же спросонья выдал один из самых коротких и простых. Ну цикл ещё можно было бы прикрутить, например, так:

while (rm `/bin/ls| head -n 1000`);do done;

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