HP-UX - 如何在不解压缩的情况下从 tar 存档中读取文本文件?
Posted
技术标签:
【中文标题】HP-UX - 如何在不解压缩的情况下从 tar 存档中读取文本文件?【英文标题】:HP-UX - How can I read a text file from tar archive without extracting it? 【发布时间】:2012-09-29 22:35:52 【问题描述】:我有一个tar
存档,其中包含几个文本文件。我想编写一个脚本来显示(stdout)文件的内容而不将其提取到当前目录。
其实我也想做这样的事情:
tar tf myArchive.tar folder/someFile.txt
cat folder/someFile.txt
rm -R folder
但没有rm
...
我试过这种方法,但没有用:
tar tf myArchive.tar folder/someFile.txt | cat
谢谢
【问题讨论】:
【参考方案1】:使用x
提取,使用f
从存档文件中提取。然后还添加选项-O
将提取的文件定向到标准输出。
tar xf myArchive.tar folder/someFile.txt -O
【讨论】:
实际上它在 Linux 上运行良好。但是当我在 HP-UX 机器上运行它时,文件的内容并没有显示出来。而是提取该文件夹。正常吗?有什么解决方法吗?-O
可能是tar
的GNU 特定选项。用完整的--to-stdout
选项敷衍了事?
您应该查看 tar 的 HP-UX 联机帮助页:man tar
,看看是否有类似的选项可用。
mkdir folder ; mkfifo folder/someFile.txt ; tar xf myArchive.tar folder/someFile.txt ; cat folder/someFile.txt ; rm -r folder
重要的是检查tar是否替换了管道。
我发现在开头将所有选项放在一起会更方便:tar -Oxf folder/someFile.txt
,如果您不喜欢它看起来像十六进制数字,则可以使用 -xOf
。以上是关于HP-UX - 如何在不解压缩的情况下从 tar 存档中读取文本文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不解压缩的情况下将文件从 zipArchive 复制到另一个 zipArchive - 在 c# 中 [关闭]