for dir in $(find -type d ! -name CVS); do for file in $(find $dir -maxdepth 1 -type f); do rm $file; cvs delete $file; done; done
Эта команда рекурсивно удаляет все файлы в каталоге CVS. Она выполняет следующие действия:
1. Поиск всех подкаталогов, исключая CVS: find -type d ! -name CVS
2. Для каждого найденного каталога выполняется вложенный цикл:
— Поиск всех файлов в данном каталоге: find $dir -maxdepth 1 -type f
— Удаление каждого найденного файла: rm $file
— Выполнение команды CVS для удаления файла из системы управления версиями: cvs delete $file
Альтернативы: Можно также использовать команду find
с опцией -exec
для выполнения действий над файлами, что сократит количество команд в скрипте.