Cut the file name


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Cut the file name
# 1  
Old 06-08-2010
Cut the file name

Hi ,
I am checking whether the file is gz file or not. If it's gz file, i need to unzip it.

My code is as below,

Code:
inpfile=$@
echo $inpfile
file1=`echo $inpfile | cut -d "." -f2`
echo &file1
if [ file1="gz" ] 
then
	gunzip $inpfile
	echo "gunzipped"
fi

when i tried to execute, i got the below response,
Code:
$ . ./script.sh File.gz
File.gz

bash: file1: command not found
gunzipped

Eventhough the file is unzipped, i need to know why the file1 value is not getting printed? Pls solve my above query
Thanks
# 2  
Old 06-08-2010
Try this
Code:
$cat unzip.sh
inpfile=$@
echo $inpfile
file1=`echo $inpfile | cut -d "." -f2`
echo $file1
if [ "$file1" = "zip" ]
then
        unzip $inpfile
        echo "unzipped"
fi
$
$sh unzip.sh no.zip
no.zip
zip
Archive:  no.zip
  inflating: no1
  inflating: no2
  inflating: no3
unzipped

# 3  
Old 06-08-2010
It works perfectly..... :-) thanks a lot
# 4  
Old 06-08-2010
I realize you've already solved your problem, but I share this in hopes that it may be helpful anyway.

The problem with your original code is in:
Code:
echo &file1

The '&' terminates the echo command and causes it to run in the background. The shell then tries to execute the command named "file1". I assume what you were going for was "echo $file1", to echo the filename.

In this case, if you want to be verbose, instead of manually echoing filenames and the like, you can just use gunzip's -v option, which, in addition to the filename, provides information on compression efficiency.

Also, there is no need to bother with an external tool such as cut when you can use the case statement's inherent pattern matching.

Code:
case $1 in
    *.gz) gunzip -v "$1";;
esac

Regards,
Alister
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using :<<cut / cut to comment out block of bash script

I am using : << cut / cut to comment out block of code. Works fine on few lines of script, then it gives me this cryptic error when I try to comment out about 80 lines. The "warning " is at last line of script. done < results 169 echo "END read all positioning parameters" 170... (8 Replies)
Discussion started by: annacreek
8 Replies

2. UNIX for Beginners Questions & Answers

Cut command: can't make it cut fields

I'm a complete beginner in UNIX (and not a computer science student either), just undergoing a tutoring course. Trying to replicate the instructions on my own I directed output of the ls listing command (lists all files of my home directory ) to My_dir.tsv file (see the screenshot) to make use of... (9 Replies)
Discussion started by: scrutinizerix
9 Replies

3. Shell Programming and Scripting

How to cut a pipe delimited file and paste it with another file to form a comma separated outputfile

Hello ppl I have a requirement to split (cut in unix) a file (A.txt) which is a pipe delimited file into A1.txt and A2.txt Now I have to join (paste in unix) this A2.txt with external file A3.txt to form output file A4.txt which should be CSV (comma separated file) so that third party can... (25 Replies)
Discussion started by: etldev
25 Replies

4. Shell Programming and Scripting

Help required the cut the whole contents from one file and paste it into new file

Hi, First of all sincere apologies if I have posted in a wrong section ! Please correct me if I am wrong ! I am very new to UNIX scripting. Currently my problem is that I have a code file at the location /home/usr/workarea/GeneratedLogs.log :- Code :- (Feb 7, 571 7:07:29 AM),... (4 Replies)
Discussion started by: acidburn_007
4 Replies

5. Shell Programming and Scripting

cut the variable from the line and use it to find the file and read the content of that file

Hi, I am working on one script..I am having files in the below format file 1 (each line is separated with : delimeter) SPLASH:SPLASH:SVN CIB/MCH:MCH:SVN Now I want from file 1 that most left part of the first line will store in... (6 Replies)
Discussion started by: rohit22hamirpur
6 Replies

6. Shell Programming and Scripting

cut lines from log file and save it another file

Dears, i want cut the lines from a log file. Example of the log file as follows.. May 27, 2011 5:54:51 PM com.huawei.ivas.utilities.sm.client.SMDeliverContrUtil isDeliverSM FINE: May 27, 2011 5:54:51 PM com.huawei.ivas.utilities.sm.client.SMUtil addSysUpMsgLog INFO: . The message content... (1 Reply)
Discussion started by: tonypalokkaran
1 Replies

7. Shell Programming and Scripting

Creating file from an existing file using CUT, is it the best option?

Dear All, I have a requirement in which i have to load a file placed in FTP location onto my database. The process i'll follow is as below: 1) Get the files using FTP. 2) Create the desired load files as i have to load only 19 fields out of the 104 available in the file. The fields i require... (7 Replies)
Discussion started by: abhishekakaomi
7 Replies

8. Shell Programming and Scripting

Cut Command error cut: Bad range

Hi Can anyone what I am doing wrong while using cut command. for f in *.log do logfilename=$f Log "Log file Name: $logfilename" logfile1=`basename $logfilename .log` flength=${#logfile1} Log "file length $flength" from_length=$(($flength - 15)) Log "from... (2 Replies)
Discussion started by: dgmm
2 Replies
Login or Register to Ask a Question