我正在尝试对一个文件进行gunzip压缩,然后将结果保存在使用mkfifo创建的命名管道中,该管道最终将用于join命令。我见过很多使用mkfifo压缩的例子,但在这种情况下几乎没有使用gzip压缩的例子。我的问题概述如下:
获取两个*.gz文件的内容,而不实际将其解压缩到磁盘。为此,捕获-c *.gz的流(这是我想使用命名管道作为保存流内容的文件的地方)。获取这两个命名管道并对其执行连接。unix代码中的简化概念有点像...
mkfifo pipe1
mkfifio pipe2
gunzip -c fileA.gz > pipe1 &
gunzip -c fileB.gz > pipe2 &
join pipe1 pipe2
rm pipe1 pipe2如有任何建议,我们将不胜感激
发布于 2013-04-04 22:17:07
为此,您并不真的需要命名管道。Bash有一个特殊的语法,可以在一个命令中做到这一点:
join <(gunzip -c fileA.gz) <(gunzip -c fileB.gz)https://stackoverflow.com/questions/15813762
复制相似问题