You can use the following syntax to delete a file from a tar ball:
tar --delete -f example.tar filename
Example: Delete a File From a Tar Ball
First, create a tar ball for testing purpose using the tar command, enter:# cd /tmp
# tar -cvf foo.tar /etc
To display a list of files, enter:
# tar -tvf foo.tar
OR
# tar -tvf foo.tar | grep 'etc/resolv.conf'
Sample outputs:
-rw-r--r-- root/root 30 2011-09-20 17:51 etc/resolv.conf.tmpTo delete a file called 'etc/resolv.conf' from a tar ball called foo.tar, enter:
-rw-r--r-- root/root 185 2011-07-27 20:35 etc/resolv.conf
-rw-r--r-- root/root 185 2011-07-27 20:35 etc/resolv.conf.pppd-backup.ppp0
-rw-r--r-- root/root 51 2011-07-12 03:14 etc/resolv.conf~
# tar --delete -f foo.tar etc/resolv.conf
Verify that file has been deleted from the tar ball:
# tar -tvf foo.tar | grep 'etc/resolv.conf'
Sample outputs:
-rw-r--r-- root/root 30 2011-09-20 17:51 etc/resolv.conf.tmpTo delete all etc/resolv.conf files, use the --wildcards opitons. It will enable pattern matching:
-rw-r--r-- root/root 185 2011-07-27 20:35 etc/resolv.conf.pppd-backup.ppp0
-rw-r--r-- root/root 51 2011-07-12 03:14 etc/resolv.conf~
# tar --wildcards --delete -f foo.tar 'etc/resolv.conf*'
Use the following command to verify that files deleted from the tar ball:
# tar -tvf foo.tar | grep 'etc/resolv.conf'
Please note that you are not allowed to modify or delete files from compressed archives such as tar.gz or tar.bz2.
No comments:
Post a Comment