我们可以用gunzip结合tar命令从tar包里解出所有名为test的文件
gunzip -dc 2010-07-31.tar.gz |tar xvf - test.*
执行结果:
test.2010-07-31.00.192.168.1.231
test.2010-07-31.01.192.168.1.231
。。。。。
成功了,当然这个包里要有test名称的文件,否则出错。
另外tar是不支持解开时用通配字符 (*,?) 来找符合项目的:
tar -zxvf 1.tar.gz "bin/a*"
tar: Pattern matching characters used in file names. Please,
tar: use --wildcards to enable pattern matching, or --no-wildcards to
tar: suppress this warning.
tar: bin/a*: Not found in archive
tar: Error exit delayed from previous errors
发现出错了,除非你使用 --wildchards 搭配:
tar --wildcards -zxvf 1.tar.gz "bin/a*"
bin/ash
bin/awk
bin/arch
请注意传入通配字符时, 要使用 " or " 包起来,要不然会被 shell 先解释走了,那tar就看不到了。
补充一下,关于wildcards参数在REDHAT 9里是没有的,RHEL AS4里有.