Find

Tar Extract a Single File(s) From a Large Tarball

Tar Extract a Single File(s) From a Large Tarball


Extracting Specific Files
Extract a file called etc/default/sysstat from config.tar.gz tarball:
 $ tar -ztvf config.tar.gz
 $ tar -zxvf config.tar.gz etc/default/sysstat
 $ tar -xvf {tarball.tar} {path/to/file}

 Some people prefers following syntax:
  tar --extract --file={tarball.tar} {file}


 Extract a directory called css from cbz.tar:
$ tar --extract --file=cbz.tar css


Wildcard based extracting
You can also extract those files that match a specific globbing pattern (wildcards).


For example,
to extract from cbz.tar all files that begin with pic, no matter their directory prefix, you could type:
$ tar -xf cbz.tar --wildcards --no-anchored 'pic*'


 To extract all php files, enter:
$ tar -xf cbz.tar --wildcards --no-anchored '*.php'


Where,
◾-x: instructs tar to extract files.
◾-f: specifies filename / tarball name.
◾-v: Verbose (show progress while extracting files).
◾-j : filter archive through bzip2, use to decompress .bz2 files.
◾-z: filter archive through gzip, use to decompress .gz files.
◾--wildcards: instructs tar to treat command line arguments as globbing patterns.
◾--no-anchored: informs it that the patterns apply to member names after any / delimiter