Here is a detailed explanation on how it is possible to extract specific files from an archive. Specifically GNU tar can be used to extract a single or more files from a tarball. To extract specific archive members, give their exact member names as arguments.
For example:
tar --extract --file={tarball.tar} {file}
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.
-t
list until the tarball is fully downloaded. At any point of time, the list shows only filenames which have been, or are being, transferred, ie. not the full list; until it is fully downloaded. – Peter.O Jul 04 '12 at 03:36