工作隨筆 tar命令批量解壓

2022-04-30 17:51:11 字數 563 閱讀 8322

由於linux的tar命令不支援批量解壓,所以很多網友編寫了好多支援批量解壓的shell命令,收集了一下,供大家分享:

第一:for tar in *.tar.gz; do tar xvf $tar; done

第二:用tar命令批量解壓某個資料夾下所有的tar.gz檔案

ls *.tar.gz | xargs -n1 tar xzvf

第三:find -maxdepth 1 -name "*.bz2"|xargs -i tar xvjf {}

【原理】

tar -xvf *.tar

實際上執行tar時,tar接收到的是

tar -xvf a.tar b.tar c.tar ...

tar把你的意圖理解為,在a.tar裡解出b.tar c.tar ...

如果當前目錄跟本沒有tar的東西,那麼tar就收到'*.tar'這個引數

所以上面的第一,第二條命令在沒有找到檔案的時候會報錯。

解決方法:

for tar in $; do tar xvf $tar; done

將報錯的資訊直接扔到/dev/null

tar命令批量解壓方法

第一種 for tar in tar.gz do tar xvf tar done for tar in tar.bz2 do tar xvf tar done 第二種 用tar命令批量解壓某個資料夾下所有的tar.gz檔案 ls tar.gz xargs n1 tar xzvf 第三種 find ...

Linux 批量解壓tar包

某目錄下存在幾十個tar檔案,現需要全部解壓到另外乙個目錄中去,故寫了個簡單的指令碼來解決問題 bin bash written by hzy date 2014 10 06 src path path date des path path2 file list ls src path cd des...

linux解壓 tar命令

tar命令 tar cxtzjvfppn 檔案與目錄 引數 c 建立乙個壓縮檔案的引數指令 create 的意思 x 解開乙個壓縮檔案的引數指令!t 檢視 tarfile 裡面的檔案!特別注意,在引數的下達中,c x t 僅能存在乙個!不可同時存在!因為不可能同時壓縮與解壓縮。z 是否同時具有 gz...