Extract root basedir name from a *.tar.gz file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extract root basedir name from a *.tar.gz file
# 1  
Old 09-19-2011
Extract root basedir name from a *.tar.gz file

I am working on a script to install a software distribution which ships as a *.tar.gz file. The company doesn't name the dist consistently, but the resulting directory out of the *.tar.gz file (ie: XXX_X_X_X) is consistent and shows the software version.

I'm writing this with BASH-3.25.x (RHEL).

I'm trying to determine how to reliably grab that root directory name for use inside a script.

I have hacked this:
Code:
tar ztvf $DISTFILE | head -1 | sed -e "s/.*F/F/g" | cut -f1 -d"/"

(the dir always starts with F)

This is a crappy hack, but it works. I looked at the manpage for pax and tar and I didn't see anything obvious that accomplishes what I require.

Anyone have a more elegant/reliable way to do this?


Thanks.

Last edited by Franklin52; 09-20-2011 at 03:15 AM.. Reason: Please use code tags, thank you
# 2  
Old 09-19-2011
Show the input data it gives and the output data you want.
# 3  
Old 09-19-2011
Alright...

tar ztvf:

drwxr-xr-x 0/0 0 2011-07-26 17:20:44 FMS_4_0_3_r4011/conf/_defaultRoot_/
drwxr-xr-x 0/0 0 2011-07-26 16:51:28 FMS_4_0_3_r4011/conf/_defaultRoot_/_defaultVHost_/
-rw-r--r-- 0/0 43801 2011-07-26 16:51:28 FMS_4_0_3_r4011/conf/Logger.xml
-rw-r--r-- 0/0 46191 2011-07-26 16:51:28 FMS_4_0_3_r4011/conf/Server.xml

I only want:

FMS_4_0_3_r4011

So whatever release it is, I need to grab that name as a variable for installation work. Their installation stuff is crappy.
# 4  
Old 09-19-2011
You don't need the -v if you don't need the details, and you don't.

Code:
BASE=$(tar -ztf filename.tar.gz | awk -F"/" '{ print $1 ; exit }' )

Not the most efficient but given we have to run tar anyway...
# 5  
Old 09-20-2011
Thanks, that is a much more elegant version of my messy solution above.

I need to learn awk/perl. Been putting it off too long.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Tar extract Z file

I was looking at this tutorial for tar extract Z file. Is there a reason why this did not work? I checked my man pages and it had a -Z option. tar -xZvf /opt/Nimsoft/nimldr.tar.Z tar (child): compress: Cannot exec: No such file or directory tar (child): Error is not recoverable: exiting now... (2 Replies)
Discussion started by: cokedude
2 Replies

2. Shell Programming and Scripting

Want to extract particular file from tar.lzo

Hi Guys, Could you please help to get specific files from /di/data/prd/serial/lookup/abetlp11_lookup_20180206.tar.lzo without extracting whole compressed file tar.lzo as its size is huge file name - xyz.lkp Thanks (1 Reply)
Discussion started by: himanshupant
1 Replies

3. Solaris

HOW TO extract.tar file to specific directory..?

Hi all, In Solaris howto extract tar file to specific folder. This is what we do in Linux, but how to do the same thing in Solaris ? -tar -xzvf /tmp/etc.tar.bz -C /tmp (Will extract in /tmp dir) 3.gzip COMPRESSION AND EXTRACTION -tar -czvf /tmp/etc.tar.bz /etc -du ... (5 Replies)
Discussion started by: manalisharmabe
5 Replies

4. UNIX for Dummies Questions & Answers

Do I need to extract the entire tar file to confirm the tar folder is fine?

I would like to confirm my file.tar is been tar-ed correctly before I remove them. But I have very limited disc space to untar it. Can I just do the listing instead of actual extract it? Can I say confirm folder integrity if the listing is sucessful without problem? tar tvf file1.tar ... (1 Reply)
Discussion started by: vivien_chu
1 Replies

5. UNIX for Dummies Questions & Answers

After extract from tar, commands cannot see file?

Hi, Hi recently downloaded the source code from Advanced Programming in the Unix Envrionment 2e and extracted the source from its tar file. The extracted files have these characteristics: 1) They can can be seen in a directory listing and brought up for viewing in emacs; 2) They cannot be... (2 Replies)
Discussion started by: TheTaoOfPhil
2 Replies

6. UNIX for Advanced & Expert Users

How to extract a particular file in tar.Z format

Hi , I need to extarct only a particulay files from the tar.Z. ie i need to extract one.txt from test.tar.Z. The test.tar.Z may contain lot of file and folders. Please help me to extract particular file to some location. Regards, Kalai. (1 Reply)
Discussion started by: kalpeer
1 Replies

7. UNIX for Dummies Questions & Answers

tar command help -- extract single file

Hi, I want to view/display the contents of one file in tar file. For example if the tar file is sam.tar.gz and one of the file inside is E1.txt, how do i view the contents of this E1.txt file. Olso if I want to extract the E1.txt file only from sam.tar.gz how can i do that. Thanks in... (7 Replies)
Discussion started by: icefish
7 Replies

8. Shell Programming and Scripting

extract one file form .tar.gz without uncompressing .tar.gz file

hi all, kindly help me how to extract one file form .tar.gz without uncompressing .tar.gz file. thanks in advance bali (2 Replies)
Discussion started by: balireddy_77
2 Replies

9. UNIX for Dummies Questions & Answers

cant extract files from a tar file

hi everyone i have a tar file which was in AIX box. its 300mb. i cant untar in windowsxp home. I just get an empty folder with no files when i extract. i dont get any bad header or any such error. i am using IZARC which is a freeware. Not sure if i should try winzip or winrar. any help (2 Replies)
Discussion started by: bryan
2 Replies

10. UNIX for Advanced & Expert Users

extract a sub directory form a tar file

anyone know if it is possable to extract a subdirectory in a tar file. IE tarfile contains parent dir -sub dir A -sub dir B I want to extract sub dir B. (2 Replies)
Discussion started by: Optimus_P
2 Replies
Login or Register to Ask a Question