tarアーカイブ内の各ファイルの内容を印刷します。

tarアーカイブ内の各ファイルの内容を印刷します。

gzipで圧縮されたtarファイルのファイルを一覧表示するのは簡単ですxvfz

$ date >> a
$ date >> b

$ cat a b
Sun Sep 24 14:27:01 IDT 2017
Sun Sep 24 14:27:05 IDT 2017

$ cat dates.tgz | tar xfvz -
x a
x b

以下の精神で各ファイルの内容をtarで印刷するエレガントな方法はありますか?

$ cat dates.tgz | tar <?> -
a:
Sun Sep 24 14:27:01 IDT 2017
b:
Sun Sep 24 14:27:05 IDT 2017

ベストアンサー1

私はこれがうまくいくと思います:

tar --wildcards --to-stdout -xvf archive.tar.gz './*'

問題がある可能性がある部分に注意してください'./*'。 tarがどのようにパスにどのくらい一致するのかわかりません。明らかに、これはアーカイブに絶対パスがある場合は一致しませんが、それが良い'*'オプションであるかどうかはわかりません。

私はいくつかのtar実装が-Oそれを可能にすると信じています。 / replaceそれがGNU実装に固有のもの--to-stdoutかどうかはわかりません。--wildcards


これは使用を避けるバージョンです--wildcards

tar -xOvf archive.tar.gz $(tar -tf archive.tar.gz)

おすすめ記事