В настоящее время у меня есть несколько каталогов
Directory1 Directory2 Directory3 Directory4
каждый из этих каталогов содержит файлы (файлы несколько загадочные)
что я хочу сделать - это сканировать файлы в папках, чтобы увидеть, есть ли определенные файлы, если они есть, то оставить эту папку в покое, если определенные файлы отсутствуют, просто удалить весь каталог. вот что я имею в виду:
я ищу файлы со словом .pass. в имени файла.
Скажем, в Directory 4 есть тот файл, который я ищу
Direcotry4:
file1.temp.pass.exmpl
file1.temp.exmpl
file1.tmp
, а остальные каталоги не имеют этого конкретного файла:
file.temp
file.exmp
file.tmp.other
поэтому я хотел бы удалить Directory1,2 и3, но сохранить только Directory 4 ...
Пока я придумал этот код
(arr - массив всех имен каталогов)
for x in ${arr[@]}
do
find $x -type f ! -name "*pass*" -exec rd {} $x\;
done
другой способ, которым я думал об этом, таков:
for x in ${arr[@]}
do
cd $x find . -type f ! -name "*Pass*" | xargs -i rd {} $x/
done
Пока что они, похоже, не работают, и я боюсь, что могу сделать что-то не так и удалить все мои файлы ..... (я сделал резервную копию)
Есть ли способ, которым я могу это сделать? помните, я хочу, чтобы каталог 4 не изменился, все, что в нем я хочу сохранить