Как исключить папки для удаления при использовании (rm -rf *) в родительском каталоге

я запускаю следующую командную строку для удаления всех файлов / каталогов в каталоге:

       cd /home/abdennour/android/

       rm -rf *

архитектура этого каталога выглядит следующим образом:

   /home/abdennour/android/
   /home/abdennour/android/documents/
   /home/abdennour/android/documents/medialib/
   /home/abdennour/android/documents/preview/
   /home/abdennour/android/fixtures/
   /home/abdennour/android/images/
   /home/abdennour/android/images/hard/
   /home/abdennour/android/images/mlibrary/
   /home/abdennour/android/images/mlibrary/thumbs/
   /home/abdennour/android/js/ 
  .....

я хочу удалить все с исключением следующих каталогов:

  /home/abdennour/android/documents/
  /home/abdennour/android/images/mlibrary/
1
задан 23 October 2013 в 12:19

2 ответа

Вы можете использовать GLOBIGNORE переменную окружения. Предположим, что вы хотите удалить все, кроме /home/abdennour/android/documents/ и /home/abdennour/android/images/mlibrary/, тогда вы можете сделать следующее:

cd /home/abdennour/android/
export GLOBIGNORE="documents:images"
rm -rf *
cd images
export GLOBIGNORE="mlibrary"
rm -rf *
export GLOBIGNORE=""
0
ответ дан 23 October 2013 в 12:19

Поскольку список этих папок, которые вы не хотите удалять, довольно короткий и кажется, что он не соответствует ни одной очевидной схеме, я думаю, вам просто нужно переместить эти директории куда-нибудь до удаления остальных. ]

0
ответ дан 23 October 2013 в 12:19

Другие вопросы по тегам:

Похожие вопросы: