LINUX.ORG.RU

Как сделать rm * для большого числа файлов?


0

0
Ситуация повторяется нередко, но сейчас вылезла вполне конкретная задача.

Есть Gentoo и машина с э... so-hell'ом, достигнутым путём долгих и зверсих экспериментов :D Нужно этот бардак вычистить, выкинув ненужные .so-шки и пересобрав имеющие коивые зависимости.

Для этого есть замечательная утилита revdep-rebuild.

Но тут незаметно подкрался северный полярный лис.

# revdep-rebuild -i -- -p
...
/usr/bin/revdep-rebuild: line 583: /usr/bin/cat: Слишком длинный список аргументов

Смотрим строку 583 и видим там:

583: RAW_REBUILD_LIST="$(cat $LLIST.4_ebuilds | sed s/^/=/ | tr '\n' ' ')"

Ладно, фиг с ним, но дальше ещё веселее:

/usr/bin/revdep-rebuild: line 631: /usr/bin/rm: Слишком длинный список аргументов

631: rm $LIST.[0-2]_*

...

Блин, на дворе XXI век, под столом машина с гигафлопной производительностью с гигабайтом оперативки, а уменя rm * выполниться не может.

Это как-то лечится в общем виде или опять только через костыли find?
★★★★★
Скрипты такая простая вешь, но с кривыми руками даже в носу ковырять опасно (это в адрес замечательной утилиты).
sdio ★★★★★
()
find - не костыль, а мощная утилита. :) А на длину командной строки всегда и везде были ограничения. Возьма да напиши ядро, в котором таких ограничений не будет. :) Или сделай патч к линуксу. Только зачем?..
Teak ★★★★★
()
Ответ на: комментарий от Delay
1. Удаляй всю директорию (понимаю, это плохой выход).

2. mrm попробуй, кажется она как раз для таких случаев.

Teak ★★★★★
()
Ответ на: комментарий от Teak
1. Спасибо, так и удаляю (всю директорию целиком), просто думал есть более "правильное" решение
2. Что такое mrm? Google выдает всякую ересь
Delay ★★
()
Ответ на: комментарий от Teak
Сенкс, не знал ни про mget ни про mrm, а оказывается очень удобные команды:)
Delay ★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.