unzip '*.zip'
指定目錄,這個就自己補上. 你還要想一下,壓縮檔裡面會不會有重複出現的,那樣會詢問的,
所以看是要 跳過, 還是每個壓縮檔都要有子目錄.
一行
sudo find /whereyourtar -name '*.tar.gz' -exec tar -xzvf {} --directory /whereyouwantuntar \;
打完收工
unzip 也是一樣,只是把 tar -xzvf 換成 unzip ,{}就是find到的檔案(一堆一樣解),記得後面加 ;
/whereyourtar → 你放壓縮檔的資料夾
/whereyouwantuntar → 你要解開壓縮檔後放置的資料夾
我喜歡用TAR壓縮,因為他會原樣打包,原樣解包,檔案屬性跟所有者都會留下,中文也不會出錯
感謝,來研究試試。
想請問一下路徑的部分,若壓縮檔分別在各自的目錄,有辦法批次解壓縮後,檔案在各自的目錄下嗎?謝謝!
可以啊,只要在 {} 後面加上 ./ 即可
感謝您的回覆~
但我有試過./,卻出現錯誤,不知道是指令哪裡出錯
./前面加上-C,是解壓縮到自己所在的當前目錄
find /whereyourtar -name '*.tgz' -exec tar -zxvf {} -C ./ \;
...............咦
咦,我有加 --directory 啊...... 那個就是 -C (同義)
剛剛才解壓完發現-C和--directory都是解壓縮到我當前所在的目錄呢...
vin
哈失誤失誤~~~
把參數改一下, -exec 改成 -execdir ,後面的-C或--directory 就免了
sudo find /whereyourtar -name '*.tar' -execdir tar -xvf {} \;
太感謝您了~這真的幫了很大的忙!!!
tar -cvf 並不帶壓縮,只打包,如果要壓縮或解壓縮,加個z
tar -czvf 及 tar -xzvf
打包壓縮檔名我會習慣加個.gz
abc.tar.gz