Резюме
мне нужно «исправить» партию .zip файлов, всей файловой системы, с помощью:Как распаковать и повторно zip-файлы в подкаталог с тем же именем, что и .zip-файл?
- замена «» (пробел), в названии с «_» , а также в названиях файлов их содержимое
- повторно пронестись их обратно
Застрял в распаковке, потому что „$ (имя_директории„$ 0“)/$ (базовый„$ 0“)“ кидают ошибку.
Более длинный desc. Иерархия
Файл:
banners/
|
germany/
| |
| active/
| | |
| | 300x250/
| | | |
| | | file.jpg
| | | AC2 xx.zip
| | |
| | 600x228/
| | |
| | file.jpg
| | AC4 xx.zip
| nautics/
|
|
austria/
|
...
Это то, что я пробовал:
~/banners/> find . -name "*" -exec sh -c 'mv -- "$0" "$(0// /_)"' {} \;
Здесь я избавилась от всех пространств во всех имен файлов имен/каталогов из banners/
вниз.
AC2 xx.zip
теперь выглядит AC2_xx.zip
мне теперь нужно распаковать эти файлы .zip в новый подкаталог, на том же уровне, что и .zip сами файлы, названный так же, как эти файлы .zip.
Вот команда, я попробовал:
find . -name "*.zip" -exec sh -c 'unzip "$0" "$(dirname "$0")/$(basename "$0")"' {} \;
, который дает мне кучу (полный экран) ошибок, как этот:
~> Архив: ./sun & море/dugi_otok/970x250/SS4_970x250.zip
~> Внимание: имя файла не соответствует: ./sun & море/dugi_otok/970x250/SS4_970x250.zip
Для жизни меня я не могу понять этого.
Re перспективе удалить пробелы
Если я получить эту работу и файлы будут распакованы, план повторно запустить команду mv
из каталога верхнего уровня banners/
и снова заменить пробелы с «_» снова , Это касается содержимого .zip-файлов.
Re-зип
Наконец, мне нужно повторно сжать эти вновь созданные поддиректории, названные в качестве исходных файлов .zip и перезаписывать существующие файлы .zip (которые изначально были распакованные).
В основном повторно пронестись это:
~> banners/germany/active/dugi_otok/300x250/AC2_xx/(newly unzipped contents)
в:
~> banners/germany/active/dugi_otok/300x250/AC2_xx.zip
Извиняюсь за сумбур, но я не мог найти лучший способ объяснить это.
Почему вы добавили тег [baseline]? – Armali