LINUX.ORG.RU

broken symlinks


0

0

как удалить все битые симлинки (т.е. линки на несуществующие файлы) в директории, рекурсивно?

manpages нет, инет дохлый, еле досюда достучался. так что плз, не посылать курить доки


Делаешь скрипт rmbroken
#/bin/sh
if `test -r $1`; then echo $1 is OK;else rm $1;fi

затем

find -type l -exec rmbroken '{}' ';'

пускать от рута

смусл следующий
find ищет симлинки и вызывает rmbroken
который проверяет файл на читаемость и удаляет если он не читается


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

в общем если в rmbroken запихать это
if [ ! -f "$1" ]; then
rm -f "$1"
fi

то работать будет надежнее

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