LinuxForum.Fans
Тема

Как удалить все каталоги

Автор: vinner 8 сообщений 1428 просмотров
#262882

Добрый день, подскажите, как удалить только каталоги в папке. Файлы и симлинки не трогать.

#262884

А если каталоги не пустые, тоже удалять?

#262885

find . -type d -maxdepth 1 -exec rmdir '{}' +
ну или rm -r вместо rmdir...

#262886
Lupo Alberto написал:
А если каталоги не пустые, тоже удалять?

да

#262888
text
ls . | while read FILENAME; do

if [[ ! -f "$FILENAME" ]] then rm -rf "$FILENAME" fi

done

в текущей директории, или :

text
ls $1 | while read FILENAME; do

if [[ ! -f "$FILENAME" ]] then rm -rf "$1/$FILENAME" fi

done

в директории заданной как первый параметр скрипта

#262891
text
find /tmp/test/* -type d -exec rm -rf {} +

/tmp/test — каталог, из которого нужно всё удалить, сам каталог не удаляется.

#262968
Lupo Alberto написал:
text
find /tmp/test/* -type d -exec rm -rf {} +

/tmp/test — каталог, из которого нужно всё удалить, сам каталог не удаляется.

Мне нужно только каталоги из каталога. Это не совсем то.

#262997
"vinner" написал:
Мне нужно только каталоги из каталога. Это не совсем то.

Я неправильно выразился — из каталога /tmp/test удаляются все каталоги, в том числе и непустые, сам каталог /tmp/test и вложенные в него файлы остаётся.

Войдите или зарегистрируйтесь, чтобы ответить.