С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Shell, Bash
Войти
Регистрация
Восстановить пароль
 
Shouldercannon
3 / 3 / 8
Регистрация: 25.05.2010
Сообщений: 127
1

Удалить определённые папки средствами скрипта

15.04.2018, 11:40. Просмотров 203. Ответов 9
Метки нет (Все метки)

Доброго времени суток!
В bash не силён.
Помогите, пожалуйста, с cкриптом.
Есть папка по адресу /home/administrator/project, в ней есть другие папки:
4ffb91c9-7073-4b99-8661-78455b32826b
5ghdf90c-7021-1f99-0061-15455b32863v
ExtCompT
Something
Из всего этого списка нужно удалить папки, имеющие имя 4ffb91c9-7073-4b99-8661-78455b32826b и ему подобные.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2018, 11:40
Ответы с готовыми решениями:

Найти папки с заданным именем, удалить старые файлы и пустые папки
добрый день помогите написать маленький скриптик 1. найти папки с именем...

Выполнение локального скрипта на удаленной машине средствами Expect, Bash, SSH
Уважаемые знатоки! Есть задача, выполнить небольшой скрипт на удаленных...

Ошибки скрипта копирования содержимого папки на ftp сервер
Доброе время суток! Помогите отладить скрипт копирования содержимого папки на...

Удалить из текущей папки подпапки с именами group2, group4, ...
Добрый день, дорогие форумчане. Поставили задачку, пытаюсь выполнить её. Буду...

Из папки вывести файлы с набором символов, остальные удалить
конкретно не получается написать скрипт Скрипт выполняет действия: 2.1....

9
Marinero
Модератор
Эксперт NIX
2142 / 1723 / 587
Регистрация: 02.03.2015
Сообщений: 5,635
16.04.2018, 09:54 2
Цитата Сообщение от Shouldercannon Посмотреть сообщение
ему подобные
Поясните чем Вы определяете подобие: длинной, наличием тире, наличием цифр, ....
0
nezabudka
735 / 299 / 117
Регистрация: 28.06.2015
Сообщений: 767
Записей в блоге: 13
16.04.2018, 10:37 3
Если взять за основу четыре тире то шаблон может выглядеть например так
для команды ls
Bash
1
*-*-*-*-*
или для команды find
Bash
1
"*-*-*-*-*"
0
Shouldercannon
3 / 3 / 8
Регистрация: 25.05.2010
Сообщений: 127
16.04.2018, 14:41  [ТС] 4
Под ему подобными подразумевается такое же количество символом между тире.
Пробовали так
find /home/administrator/project -type d -regextype egrep -iregex '.*/[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}' -exec rm -rf \;
не удаляются папки
0
Marinero
Модератор
Эксперт NIX
2142 / 1723 / 587
Регистрация: 02.03.2015
Сообщений: 5,635
16.04.2018, 21:45 5
Попробуйте сначала не удалять а просто получить правильный список с -print
Bash
1
'\w{4}([[:alnum:]-]{4}){4}\w{12}'
0
Shouldercannon
3 / 3 / 8
Регистрация: 25.05.2010
Сообщений: 127
18.04.2018, 14:06  [ТС] 6
Делаем на Ubuntu. В ответ ошибки:

administrator@1ceo:~/.project/RVS/project$ ls -l
итого 32
-rw-r---— 1 administrator administrator 329 фев 14 15:19 projectconn.pfl
-rw-r---— 1 administrator administrator 26 фев 14 15:19 projectc.pfl
-rw-rw--— 1 administrator administrator 26 апр 18 11:32 project.pfl
-rw-rw--— 1 administrator administrator 874 апр 18 11:40 projectstrt.pfl
-rw-rw--— 1 administrator administrator 157 апр 18 11:40 projectu.pfl
drwxrwxr-x 7 administrator administrator 4096 апр 18 11:40 9e9ddb02-3e1d-11e8-9084-40e230f9869c
drwxr-xr-x 2 administrator administrator 4096 фев 14 15:19 ExtCompT
drwxrwxr-x 3 administrator administrator 4096 апр 18 10:04 logs

administrator@1ceo:~/.project/RVS/project$ -print
Команда '-print' не найдена, возможно вы имели в виду:
Команда 'print' из пакета 'mime-support' (main)
Команда 'qprint' из пакета 'qprint' (universe)
-print: команда не найдена

administrator@1ceo:~/.project/RVS/project$ print '\w{4}([[:alnum:]-]{4}){4}\w{12}'
Unescaped left brace in regex is deprecated, passed through in regex; marked by <— HERE in m/%{ <— HERE (.*?)}/ at /usr/bin/print line 528.
Error: no such file "]-]{4}){4}\w{12}' (No such file or directory)::\w{4}([[:alnum:]-]{4}){4}\w{12}"
1
Marinero
Модератор
Эксперт NIX
2142 / 1723 / 587
Регистрация: 02.03.2015
Сообщений: 5,635
18.04.2018, 17:19 7
Bash
1
find /home/administrator/.project -type d -regextype egrep -iregex '.*/[[:alnum:]]{4}([[:alnum:]]{4}-){4}[[:alnum:]]{12}' -print
же ж!
1
Shouldercannon
3 / 3 / 8
Регистрация: 25.05.2010
Сообщений: 127
19.04.2018, 09:13  [ТС] 8
Даже подпаку вывел
/home/administrator/.project/9e9ddb02-3e1d-11e8-9084-40e230f9869c
/home/administrator/.project/9e9ddb02-3e1d-11e8-9084-40e230f9869c/66a70502-dabd-41f4-b045-d07d6f265488
0
Marinero
Модератор
Эксперт NIX
2142 / 1723 / 587
Регистрация: 02.03.2015
Сообщений: 5,635
19.04.2018, 19:14 9
Если это одна папка зачем срипт? Ну а так подставляйте свою -exec ...
0
Shouldercannon
3 / 3 / 8
Регистрация: 25.05.2010
Сообщений: 127
19.04.2018, 19:45  [ТС] 10
Во время теста была одна, а так их много
0
19.04.2018, 19:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2018, 19:45

Удалить содержимое папки кроме одной подпапки с ее содержимым
Думаю из заголовка понятно. Есть папка data, в ней куча файлов и папок, но надо...

Вывод файлов папки, измененных после даты создания самой папки
я так понимаю, надо использовать ls, но с какими параметрами. также, я не...

Дополнить определённые строки до фиксированной длины
Задание: Написать сценарий, который будет читать текст из заданного файла и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru