Рекурсивно разархивируйте файлы, а затем удалите исходный файл, оставив разархивированные файлы на месте из оболочки

I ' До сих пор мы выяснили, как использовать find для рекурсивной распаковки всех файлов:

find . -depth -name `*.zip` -exec /usr/bin/unzip -n {} \; 

Но я не могу понять, как удалить zip-файлы по одному после извлечения. Добавление rm * .zip в -a -exec приводит к удалению большей части zip-файлов в каждом каталоге перед их извлечением. Выполнение сценария, содержащего команду rm (с включенной опцией -i для тестирования), приводит к тому, что find не находит никаких * .zips (или, по крайней мере, это то, на что он жалуется). Конечно, во многих именах файлов есть пробелы, но на данный момент синтаксис в команде sed для добавления _ немного выше меня. Спасибо за вашу помощь!

9
задан kiamlaluno 8 April 2011 в 04:21
поделиться