从 tar.gz 存档打印文件内容

Print a file content from a tar.gz archive

我想打印 tar.gz 存档中的单个文件内容。

我知道我可以像这样列出存档中的文件:

$ tar -tf openjdk-17.0.2_linux-aarch64_bin.tar.gz
[...snip...]
jdk-17.0.2/lib/server/libjsig.so
jdk-17.0.2/lib/server/libjvm.so
jdk-17.0.2/lib/src.zip
jdk-17.0.2/lib/tzdb.dat
jdk-17.0.2/release      <---- print the content of this file (with 'cat' or 'more')

我想打印文件jdk-17.0.2/release的内容,如果可能最好不要解压。

您可以改用 vim,然后使用光标浏览:

vim openjdk-17.0.2_linux-aarch64_bin.tar.gz

或者,查看 this 话题。

以下将提取该文件并将其写入标准输出

tar --extract -O --file=openjdk-17.0.2_linux-aarch64_bin.tar.gz jdk-17.0.2/release

我不知道你是如何在你的系统上打印的,但如果设置了,你可以将输出通过管道传输到 lp。

tar --extract -O --file=openjdk-17.0.2_linux-aarch64_bin.tar.gz jdk-17.0.2/release | lp