如何解压缩到从shell脚本中的标准输入(stdin)读取的压缩文件

时间:2013-10-31 22:27:09

标签: bash shell unix compression

大家。 我需要编写一个脚本,从stdin中获取参数test.xxx,如下所示:

./script < test.xxx

test.xxx由gzip命令压缩,我想使用gunzip和pax将存档扩展到目录。脚本是这样的:

#!/bin/sh
while read line; do             #here try to catch input file
    echo $line >> /tmp/tmpfile
done
gunzip < /tmp/tmpfile | pax -r /tmp
...

这个读取表单似乎只适用于常规文件而不是压缩文件,我想知道如何存储从stdin读取的压缩文件,以便 - &gt;

我可以执行“gunzip&lt; / tmp / tmpfile | pax -r / tmp”并将文件扩展到/ tmp。

1 个答案:

答案 0 :(得分:3)

只需拨打zcat,即可从标准输入中解压缩。

#!/bin/sh
zcat | pax -r /tmp
...