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 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.