当使用 tar -xzf *.tar.gz 解压目录中所有 .tar.gz 文件时,出现 tar: not found in archive错误。 但逐个手动解压,如tar -xzf nt.00.tar.gz不会出现报错。(网页提到加 -C, tar -xzf *.tar.gz -C ./ 并不能解决问题)
原因: tar 的参数语法在命令行中只接受一个 tar,其余的被解释执行为其他东西。
解决方式一:
xargs命令
ls *.tar.gz |xargs -n1 tar -zxvf
解决方式二:
ls和循环
`for file in 'ls *.tar.gz'; do tar -zxvf $file; done`
解决方式三:
循环
`for((i=0;i<41;i++)); do tar -zxvf nt.${i}.tar.gz;done`