2015-10-03 4 views
0

Я хочу удалить конкретный каталог с именем «classes» из всех веб-приложений с разными именами внутри папки webapps.сценарий оболочки для удаления папки из подкаталогов с разными именами

Например, я хочу, чтобы удалить имя папки "классы" из/tomcat6/WebApps/азбука,/tomcat6/WebApps/А/tomcat6/WebApps/хххе и т.д.

Может кто-то пожалуйста, помогите мне сделать сценарий оболочки для этого?

ответ

0

Это может быть не самый эффективный, но будет выполнять работу.

Сначала проверьте каталоги.

find /tomcat6/webapps | grep "classes$" 

Если этот список выглядит нормально, тогда фактически удалите его.

find /tomcat6/webapps | grep "classes$" | xargs rm -Rf 

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

+0

благодарит за вашу помощь. –

+0

Когда я grep, он показывает мне все пути, где находится папка «classes». Например,/tomcat6/webapps/abc/classes &/tomcat6/webapps/abc/WEB-INF/classes. Теперь, если я только хочу удалить/tomcat6/webapps/abc/classes и NOT/tomcat6/webapps/abc/WEB-INF/classes –

+0

Хорошо, если вы хотите выборочное удаление, эта команда не поможет. Если количество таких папок классов невелико, я предлагаю вам вывести список из первой команды, а затем вручную удалить то, что вы хотите удалить. Если число слишком велико для ручного усилия, вы можете изменить команду grep, чтобы включить все пути, которые необходимо удалить, т. Е. 'find/tomcat6/webapps | grep -e "/ a/b/c/classes $" -e "/ a/d/f/classes $" | xargs rm -Rf' Это найдет и удалит только те, которые указаны, но здесь задействованы некоторые ручные усилия. – tilmik

Смежные вопросы