HP-UX - 如何在不解压缩的情况下从tar归档中读取文本文件?

17

我有一个包含多个文本文件的tar归档文件。我想编写一个脚本来在不将其提取到当前目录的情况下显示(标准输出)文件的内容。

实际上,我想做的与以下相同:

tar tf myArchive.tar folder/someFile.txt
cat folder/someFile.txt
rm -R folder

但是没有rm...

我尝试过这种方式,但它没有起作用:

tar tf myArchive.tar folder/someFile.txt | cat
感谢。
1个回答

36

使用x从存档文件中提取,结合f。然后添加选项-O,将提取的文件指向标准输出。

tar xf myArchive.tar folder/someFile.txt -O

1
-O 可能是 tar 命令中 GNU 特有的选项。与完整的 --to-stdout 选项相同吗? - Didier Trosset
不是...这里是HP-UX上tar的使用手册: http://www.cs.bgu.ac.il/~arik/usail/man/hpux/tar.1.html。 这个手册并没有什么有趣的内容。解决方案一定很棘手! - Maxbester
1
创建文件夹 folder;创建命名管道 folder/someFile.txt;解压缩 myArchive.tar 中的 folder/someFile.txt 文件;打印输出 folder/someFile.txt 的内容;删除文件夹 folder。重要的是要检查 tar 命令是否替换了管道。 - Didier Trosset
这并不需要使用mkfifo。tar xf myArchive.tar folder/someFile.txt ; cat folder/someFile.txt ; rm -R folder 就可以了。 - Maxbester
2
我发现将所有选项放在开头更方便:tar -Oxf folder/someFile.txt,或者如果您不喜欢它看起来像十六进制数字,则为-xOf - undefined
显示剩余10条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接