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)