解压缩pipe道顺序

我有一个文件,foo.zip看起来像这样:

foo.zip -- fileA.txt -- fileB.txt 

我可以pipe这样提取的文件的输出:

 unzip -p foo.zip *.txt | something 

我的问题是,我想确保文件是在正确的顺序,例如fileA.txt被提取,并在fileB.txt之前pipe道。

我可以以某种方式做到这一点,仍然避免将文件暂时写入磁盘?

订单应该是一样的邮编。 所以,如果你可以控制压缩过程,那么你可以订购文件添加,并按照这个顺序解压缩。

如果你不自己做拉链,那么你将不得不将它们解压缩到文件系统并重新sorting,因为没有简单的方法来订购它们。

如果你真的想避免创build临时文件,你可以使用类似的东西

 unzip -l -qq foo.zip | awk '{print $4}' 

获取内容,按照您的喜好对文件名进行sorting,然后逐个解压。

有很多应该和可能的 。 如果你想确保把它们分别提取出来并把它们放在一起。

 cat `unzip -p foo.zip fileA.txt` `unzip -p foo.zip fileB.txt` ... | something