tar.gzを展開せずに特定のファイルだけを見る方法
小粋空間 » Linux » tar.gzを展開せずに特定のファイルだけを見る方法
tar.gzを展開せずに特定のファイルだけを見る方法を紹介します。
1.はじめに
tar.gzファイルから特定のファイルだけを参照したいことがあると思いますが、アーカイブのサイズが大きいと、不要なファイルまで展開することになってしまいます。
また、実ファイルとして展開してしまうと、ちょっと参照したいだけのファイルも後で削除しなければならないため、無駄な作業が発生します。
できればアーカイブの状態で参照したいのですが方法が分かりません。
ということで、tar.gzを展開せずに特定のファイルだけを見る方法を紹介します。
2.tar.gzを展開せずに特定のファイルだけを見る
tar.gzを展開せずに特定のファイルだけを見るには次のようにします。
gzip -d -c hoge.tar.gz | tar xOf - ファイル名 | less
tarコマンドの"xOf"オプションの意味は次の通りです。
- x:アーカイブから展開する
- O:標準出力に展開する
- f:アーカイブファイルを指定
この中の"O"オプションがキモになります。
ファイル名はアーカイブのフルパス(先頭はスラッシュなし)で記述します。
パスが分からない場合は、
tar -ztvf hoge.tar.gz
で事前に確認しましょう。
gzipと組み合わせている理由は「tar.gzから特定のディレクトリ・ファイルだけを取得する方法」を参照してください。