Sponsored Content
Top Forums Shell Programming and Scripting Elegant gunzip of tar Contents Post 302260661 by scotbuff on Friday 21st of November 2008 10:51:48 AM
Old 11-21-2008
Elegant gunzip of tar Contents

I am faced with a situation where I have directories of gunzipped contents bundled into a tar file. It might look something like this.
x coop/batch/bin/ha90x20.gz, 632641 bytes, 1236 tape blocks
x coop/batch/icm/HA90X20.icm.gz, 1821 bytes, 4 tape blocks
x coop/batch/aeenv.gz, 4117 bytes, 9 tape blocks
x lib/libiclm.a.gz, 5998416 bytes, 11716 tape blocks
x lib/libiclm.sl.gz, 5260938 bytes, 10276 tape blocks
x lib/libime.a.gz, 5816597 bytes, 11361 tape blocks
x lib/libime.sl.gz, 4856468 bytes, 9486 tape blocks
x lib/libimisc.a.gz, 5497949 bytes, 10739 tape blocks
x lib/libimisc.sl.gz, 4591464 bytes, 8968 tape blocks
x lib/libipc.a.gz, 1250457 bytes, 2443 tape blocks
x lib/libipc.sl.gz, 1102578 bytes, 2154 tape blocks
x lib/libipr.a.gz, 5148901 bytes, 10057 tape blocks
x lib/libipr.sl.gz, 4334738 bytes, 8467 tape blocks
This is a small sample, we always have quite a bit more that could be completely different files. Anyway, we have always done a "tar xvf" on the tar files, followed by a find and gunzip of all files that are gunzipped. A problem has arose where there are files that already exist that the customer has gzipped. Is there an elegant way I can pipe the contents of the tar files through gunzip so that I only gunzip the contents of the tar file all in one fell swoop.

I have tried something like this but the gunzip never executes, I receive no errors, it just does not seem to execute.
ls *.tar | while read tarfilename
do
tar xvf ${tarfilename} |awk '{print $2}' |sed 's/,//g' |xargs -i gunzip -fdrv {}
done

I am on HPUX. I am leaning toward the need to write the output of the tar command to a file and work from that, but why can I not use that output on the fly? Thanks in advance.
 

10 More Discussions You Might Find Interesting

1. Solaris

Combination of gunzip and tar on Solaris

Hello I'm trying to use a combination of gunzip and tar to unpack and unzip a *.tar.gz file. I tried gunzip ~/myfile.tar.gz | gtar -x This will unzip the file, but it won't unpack. Any hints? thanks a lot Dan (5 Replies)
Discussion started by: dwidmer
5 Replies

2. Shell Programming and Scripting

Tar and gunzip piping

I am using IRIX 6.5.11 and tcsh. I have created an arcihive by using the command "tar -cvf - /stuff/ /more/stuff|gzip --best>/stuff.tar.gz" It made an archive of my files without taking up huge amounts of disk space with uncompressed files. How do I extract files from the archive without... (2 Replies)
Discussion started by: madyodacolon
2 Replies

3. Shell Programming and Scripting

Retaining tar.gz after gunzip

gunzip fnam.tar.gz After this command execution... .gz file no longer exists... and only fnam.tar is present. Is it possible to retain the tar.gz file after after using the above command thx in advance. (4 Replies)
Discussion started by: devs
4 Replies

4. AIX

how to take tar backup of the contents of a file

Hi I have a file named files.2.backup which holds the location of some directory and file i,e $ cat files.2.backup /d01/app/oracle/product/7.3.2/dbs/fortest_syst_01.dbf /d01/app/oracle/product/7.3.2/dbs/fortest_temp_01.dbf /d01/app/oracle/product/7.3.2/dbs/fortestdata_01.dbf... (5 Replies)
Discussion started by: sumanbangladesh
5 Replies

5. Solaris

Listing Contents of tar.gz file

Hi fellows, Can you please share any command with which I can list down the file names inside a tar.gz file. I have tried with these possibilities but in vain. bash-3.00$ tar -ztvf file.tar.gz tar: z: unknown function modifier bash-3.00$ tar ztvf file.tar.gz tar: z: unknown function... (1 Reply)
Discussion started by: Zaib
1 Replies

6. Shell Programming and Scripting

How to grep the contents inside a tar file

Hi All I have searched the possibility of this options everywhere but am unable to find it in any forum. I have a tar file inside which there are n number of files and i dont know them. I need to grep a word inside the tar file and need to know in which file the word resides. > cat a... (2 Replies)
Discussion started by: Whiteboard
2 Replies

7. Shell Programming and Scripting

Extract contents of tar ball without extracting files

Hi, I'm using a tar command tar -xOvf /home/mytar.tar My intention is to extract data in files which are inside various directories, without extracting files to the disk. Is this the best way to achieve it? Thanks, Chetan (3 Replies)
Discussion started by: chetan.c
3 Replies

8. AIX

Gunzip tar A directory checksum error on media

Hi, what is the directory checksum error ? # sed 's/^M$//' test4_bkp_19Jan13.tgz | tar -tvf - tar: 0511-169 A directory checksum error on media; -265745505 not equal to 76225. # mv test4_bkp_19Jan13.tgz test4.gz # gunzip < /ebs2/test4.gz | tar -xvf - tar: 0511-169 A directory checksum... (4 Replies)
Discussion started by: filosophizer
4 Replies

9. UNIX for Dummies Questions & Answers

Gunzip and tar command

Hi I wanted to tar and gunzip a file named backup tar: backup.tar: Wrote only 2244 of 10240 bytes tar: Error is not recoverable: exiting now Please tell me what I am doing wrong? Please do help. (4 Replies)
Discussion started by: sonia102
4 Replies

10. UNIX for Dummies Questions & Answers

Listing contents of .tar.gz files

Hi All, I would like to know couple of ways to list the content available in tar and gzipped file without extracting. i.e., I would like to display the contents of test.tar.gz without extracting. Note :: please suggest a command other that tar -ztvf (9 Replies)
Discussion started by: Girish19
9 Replies
TAR(1)							      General Commands Manual							    TAR(1)

NAME
tar - tape archiver SYNOPSIS
tar [ key ] [ name ... ] DESCRIPTION
Tar saves and restores files on magtape. Its actions are controlled by the key argument. The key is a string of characters containing at most one function letter and possibly one or more function modifiers. Other arguments to the command are file or directory names specify- ing which files are to be dumped or restored. In all cases, appearance of a directory name refers to the files and (recursively) subdirec- tories of that directory. The function portion of the key is specified by one of the following letters: r The named files are written on the end of the tape. The c function implies this. x The named files are extracted from the tape. If the named file matches a directory whose contents had been written onto the tape, this directory is (recursively) extracted. The owner, modification time, and mode are restored (if possible). If no file argument is given, the entire content of the tape is extracted. Note that if multiple entries specifying the same file are on the tape, the last one overwrites all earlier. t The names of the specified files are listed each time they occur on the tape. If no file argument is given, all of the names on the tape are listed. u The named files are added to the tape if either they are not already there or have been modified since last put on the tape. c Create a new tape; writing begins on the beginning of the tape instead of after the last file. This command implies r. The following characters may be used in addition to the letter which selects the function desired. 0,...,7 This modifier selects the drive on which the tape is mounted. The default is 1. v Normally tar does its work silently. The v (verbose) option causes it to type the name of each file it treats preceded by the function letter. With the t function, v gives more information about the tape entries than just the name. w causes tar to print the action to be taken followed by file name, then wait for user confirmation. If a word beginning with `y' is given, the action is performed. Any other input means don't do it. f causes tar to use the next argument as the name of the archive instead of /dev/mt?. If the name of the file is `-', tar writes to standard output or reads from standard input, whichever is appropriate. Thus, tar can be used as the head or tail of a filter chain Tar can also be used to move hierarchies with the command cd fromdir; tar cf - . | (cd todir; tar xf -) b causes tar to use the next argument as the blocking factor for tape records. The default is 1, the maximum is 20. This option should only be used with raw magnetic tape archives (See f above). The block size is determined automatically when reading tapes (key letters `x' and `t'). l tells tar to complain if it cannot resolve all of the links to the files dumped. If this is not specified, no error messages are printed. m tells tar to not restore the modification times. The mod time will be the time of extraction. FILES
/dev/mt? /tmp/tar* DIAGNOSTICS
Complaints about bad key characters and tape read/write errors. Complaints if enough memory is not available to hold the link tables. BUGS
There is no way to ask for the n-th occurrence of a file. Tape errors are handled ungracefully. The u option can be slow. The b option should not be used with archives that are going to be updated. The current magtape driver cannot backspace raw magtape. If the archive is on a disk file the b option should not be used at all, as updating an archive stored in this manner can destroy it. The current limit on file name length is 100 characters. TAR(1)
All times are GMT -4. The time now is 06:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy