Sponsored Content
Top Forums Shell Programming and Scripting Conundrum - Flexible way to strip extension Post 302671809 by Spadez on Saturday 14th of July 2012 04:33:38 PM
Old 07-14-2012
Conundrum - Flexible way to strip extension

Hi,

First post here. I have something that may prove to be difficult.

I have the following files:

Code:
Example1.0.0.tar.gz
Example2.tar
Example3.zip
Example4.0.0.0.0.0.bzip2

I need to remove the file extensions and store as a variable so they look like this:

Code:
Example1.0.0
Example2
Example3
Example4.0.0.0.0.0

The way I see it, there are only two ways of doing it. First, is to check the name for certain terms, say ".tar",".gz",".zip" and then have it removed from the name. If this is the best way, is there an efficient and clean way to do this?

The second way I see, is that I get the name without the extension after I unzip it, then store as a variable. So, with my command: tar xzf $FILE_VAR, is there a way to grab the folder that is spat out?

Code:
$File_VAR = Example1.0.0.tar.gz
tar xzf $FILE_VAR 
<code to find out resulting folder name and store as variable>

Output = Example1.0.0

I would really appreciate any help and advice you can give,

Thanks,

James

---------- Post updated at 03:33 PM ---------- Previous update was at 03:26 PM ----------

Sorry, second post. The whole reason I want to do this is because I need to CD into the untarred directory without knowing what it is actually called.

Thing is because I cant get the name without the extension, I dont know the name of the folder that will be output from the untar operation, then I cant CD into it.

I dont want to specify the folder name that it will be untarred into because I have thousands of these to do.

Last edited by Scrutinizer; 07-14-2012 at 05:36 PM.. Reason: quote tags changed to code tags
 

5 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

umask conundrum

Hi All, i was reading up on a umask question on this forum and have a question on this. the umask value on my home PC running on cygwin is 022. when i create a dir it defaults to permission 755, when i create a file it defaults to 644. Now it starts at 777 for dirs and 666 for files and... (1 Reply)
Discussion started by: Irishboy24
1 Replies

2. Shell Programming and Scripting

Perl:Regex for Search and Replace that has a flexible match

Hi, I'm trying to match the front and back of a sequence. It works when there is an exact match (obviously), but I need the regex to be more flexible. When we get strings of nucleotides sometimes their prefixes and suffixes aren't exact matches. Sometimes there will be an extra letter and... (2 Replies)
Discussion started by: jdilts
2 Replies

3. Shell Programming and Scripting

Bash command line to strip tar.gz file extension?

What's the command syntax for stripping out the tar.gz file extension in a bash command line (not script file). Thanks! prompt/> ls *.tar.gz | <what comes here?> (3 Replies)
Discussion started by: ZillaG
3 Replies

4. IP Networking

iptables conundrum

Ok, if youre reading this prepare yourself.(debian based os) so im trying to do this routing with ip tables, i need to forward/SNAT traffic from 192.168.111.1 to 10.10.10.250, the 192.x.x.x ips are being shoved into a honeyd like program called inetsim so its offline, 10.10.10.125 is connected... (3 Replies)
Discussion started by: Shocco
3 Replies

5. UNIX for Dummies Questions & Answers

Display the .csv extension files based on .done extension fine

Hi All, I want to fetch the files based on .done file and display the .csv files and Wil take .csv files for processing. 1.I need to display the .done files from the directory. 2.next i need to search for the .Csv files based on .done file.then move .csv files for the one directory ... (2 Replies)
Discussion started by: girija.g6
2 Replies
Z(1)							      General Commands Manual							      Z(1)

NAME
comprez - safely (un)tar and (de)feather files and directories SYNOPSIS
comprez [ -t | -T ] [ -v | -V ] [ -l | -L ] [ -gz | -z | -I | -lz | -Z | -zip | -jar ] [ -# ] [ -s suffix ] [ -m mode ] [ -p | -P ] [ -h ] [ -- ] file ... DESCRIPTION
Comprez is a simple, safe and convenient front-end for the compress(1), uncompress(1), gzip(1), bzip2(1), lzip(1), tar(1), zip(1) and unzip(1) utilities for compressing and uncompressing files and directories. It processes each of its arguments according to the type of the file or directory given: If the argument is a plain file, then the file is compressed, ie, feathered. If the argument is a compressed file with a name ending in .Z, .gz, .z, .bz2, .lz, .zip or .jar, then the file is uncompressed, ie, defeathered. If the argument is a directory, then the directory is archived into one tar or zip file which is then compressed, ie, tarred and feathered. If the argument is a compressed tar or zip archive with a name ending in .{tar.,tar,ta,t}{Z,gz,z,bz2,lz} or .{zip,jar}, then the archive is uncompressed and untarred, ie, untarred and defeathered. The new compressed or uncompressed version will be in the same directory as the original. A compressed file is always uncompressed into a file with the same name sans the feather suffix. A compressed tar or zip archive is always unpacked into a subdirectory with the same name as the archive sans the tar and feather suffix, even if the archive did not itself contain such a subdirectory. OPTIONS
-- Interprets all following arguments as files instead of options. -# Where # is a digit from 1 through 9. This option is passed on to gzip(1), bzip2(1), lzip(1) and zip(1) when feathering with them. --fast may be used instead of -1 and --best instead of -9. -gz Uses gzip(1) and a .gz compression suffix when feathering. -h Prints a helpful usage message. -I Uses bzip2(1) and a .bz2 compression suffix when feathering. -l Lists the file or directory name created resulting from each argument. -L Does not report created files or directories. Default. -lz Uses lzip(1) and a .lz compression suffix when feathering. -m mode Apply the given chmod(1) mode argument to any created tar and feather files. Before this argument is applied, the files have the same read and write permissions as the directories from which they were created. For security, the default argument is go-rwx. If the mode is -, then no argument is applied. See chmod(1) for all other allowable formats of this argument. -p Preserves modes when untarring by giving the p flag to tar(1). Default. -P Doesn't preserve modes when untarring by not giving the p flag to tar(1). This option may be necessary on systems where ordinary users are allowed to run chown(2). -s suffix Creates tar and feather files using the given suffix style. The default suffix style is .tar.Z. Note that the suffix style does not dictate the program used for feathering nor the compression suffix. -t Only lists the table of contents of the given files. Does not make any changes. -T (Un)tars and (de)feathers the given files according to their type. Default. -v Verbose output. For example, reports compression ratios when feathering. -V Non-verbose output. Does not report compression ratios. Default. -q is a synonym. -z Uses gzip(1) and a .z compression suffix when feathering. -Z Uses compress(1) and a .Z compression suffix when feathering. Default. -zip, -jar Uses zip(1) and a .zip or .jar compression suffix when tarring and/or feathering. The zip format combines tarring and feather- ing. WARNING: zip does not preserve complete Unix filesystem information for the files it archives, such as links, some permis- sions, etc. A tar(1)-based format should be used if this is required. ENVIRONMENT VARIABLES
ZOPTS This variable may be set to a string of the above options to supersede the default settings. They may still be overridden by options given on the command line. GZIP This environment variable for gzip(1) is not passed on by comprez so that gzip's behavior is standard and predictable. ZIPOPT, UNZIP These environment variables for zip(1) and unzip(1) are not passed on by comprez so that their behavior is standard and pre- dictable. BUGS
There should be an option to allow the use of another directory for temporary files needed during the (un)tarring and (de)feathering pro- cesses. This would make comprez more useful when the quota or disk is nearly full. There should be -k and -K options for keeping the original input files or not. CAVEATS
Comprez is written to work with gzip versions 1.2.3 and 1.2.4, bzip2 versions 0.9.0 and 1.0.0, Unix zip version 2.0.1 and Unix unzip ver- sion 5.12. Other versions will probably work safely, too, but should still be checked for compatibility. Every effort has been made to assure that the use of this program will not lead to the inappropriate deletion or corruption of any files. However, there are never any guarantees, so please use at your own risk. VERSION
2.6.1 AUTHOR
Steve Kinzler, kinzler@cs.indiana.edu, May 89/Jun 93/Aug 99/Dec 00 URL
http://www.cs.indiana.edu/~kinzler/z SEE ALSO
compress(1), uncompress(1), gzip(1), bzip2(1), lzip(1), tar(1), zip(1), unzip(1) 2.6.1 Z(1)
All times are GMT -4. The time now is 08:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy