摘要
我需要「修復」一批.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
對於我的生活,我無法弄清楚這一點。
重辦刪除空格
如果我得到這個工作和文件解壓縮,該計劃是從頂層目錄banners/
再次重新運行mv
命令,並再次用替換空格「_」 。這照顧了.zip文件的內容。
重新拉鍊
最後,我需要重新壓縮這些新創建子目錄,命名爲原來的.zip文件並覆蓋現有的.zip文件(即最初解壓縮)。
基本上重新拉鍊這樣的:
~> banners/germany/active/dugi_otok/300x250/AC2_xx/(newly unzipped contents)
到:
~> banners/germany/active/dugi_otok/300x250/AC2_xx.zip
我的困惑表示歉意,但我找不到更好的辦法來解釋這個問題。
爲什麼添加標籤[baseline]? – Armali