在Linux或Unix上如何同时解压多个tar.gz文件

时间:2019-11-20 08:53:52  来源:igfitidea点击:

使用命令 tar -xvf *.tar.gz解压多个文件时,报错:

tar (child): *.gz: Cannot open: No such file or directory 
tar (child): Error is not recoverable: exiting now 
tar: Child returned status 2 
tar: Error is not recoverable: exiting now

在Linux/Unix中如何同时解压多个tar.gz文件?

Linux/Unix上解压多个tar压缩文件

解压缩所有* .tar.gz文件,执行:

$ tar xvf *.gz

或者

$ tar -zxvf *.tar.gz

或者

$ tar xvf "*.gz"

或者

$ tar -zxvf '*.gz'

方法1:使用bash循环解压缩多个tar.gz文件

使用bash for循环

for f in *.tar.gz; do tar xf "$f"; done

或者

for f in *.tar.gz; do tar -xvf "$f"; done

或者

for f in *.tgz; do tar -xzvf "$f"; done

或者

for f in *.tar.bz2; do tar -xvf "$f"; done

或者

for f in *.tar.bz2; do tar -xjvf "$f"; done

或者

for f in *.tar.xz; do tar -xvf "$f"; done

或者

for f in *.tar.xz; do tar -xvJf "$f"; done

方法2:使用bash/sh/ksh管道符解压多个tar.gz文件

语法为:

cat *.tar.gz | tar zxvf - -i
cat *.tgz | tar zxvf - -i
cat *.tar.xz | tar Jxvf - -i
cat *.tar.bz2 | tar jxvf - -i

-i选项表示强制tar命令忽略存档(EOF)中的清零块。