tar コマンドで一部だけを展開したい

メモです。
(使っている Linux は Ubuntu 14.04.3 LTS です)

tar コマンドで展開するときに 特定のファイルや、特定のディレクトリ以下のファイルだけを展開したいときがあります。

次のようにパスを指定することで、そのファイルだけを展開することができます。

$ tar xvzf xxxxx.tar.gz home/hogehoge/test.html

同様に、ディレクトリのパスを指定すると、そのディレクトリ以下を展開できます。

$ tar xvzf xxxxx.tar.gz home/hogehoge

パスの指定にはワイルドカードを使うこともできます。

$ tar xvzf xxxxx.tar.gz --wildcards */hogehoge.png
File name matching options (affect both exclude and include patterns):

    --wildcards            use wildcards (default for exclusion)
    --no-wildcards         verbatim string matching

余談ですが、TABキーの入力補完で .tar.gz ファイルの中のパスまで 指定できてビックリしました。

Google サイト内検索

Amazonアソシエイト