[Solved] Replace extension of filename stored in a variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [Solved] Replace extension of filename stored in a variable
# 1  
Old 02-07-2014
[Solved] Replace extension of filename stored in a variable

Hi there,

I have a small question (most like a true beginners question Smilie ).

In a script I have a filename stored in variable (vFile). Through the an input parameter this variable gets its value (for instance cookie.txt).

Two new variables are created with the value of vFile, but with a different extension (*.err and *.out). See code below.

Until now that value in vFile always had the extension *.txt. This will change, so it will not always be *.txt.

So the script has to be changed so no matter what extension the input-filename has, that the variable "vErrFile" will be filled with the filename, but with the extension "err". Same for vOutFile, but then with the extension "out".

Could anyone give me some directions how to do this in a simple way?

Thanks in advance.
Rob.

Code:
vDirectory=${1} ;# Directory where the file resides
vFile=${2}      ;# The file

vErrFile="`echo ${vFile} | sed -e 's/txt/err/g'`"
vOutFile="`echo ${vFile} | sed -e 's/txt/out/g'`"

# 2  
Old 02-07-2014
Try (in bash):
Code:
vErrFile="${vFile%.*}.err"
vOutFile="${vFile%.*}.out"

This User Gave Thanks to bartus11 For This Post:
# 3  
Old 02-07-2014
Thanks. This works great!!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

[BASH] Getting a filename its extension

Heyas As i often have decide things upon a filename its extension, i thought i'd write a script: Just wondering if there would be a more efficent way? out="" FN=$( echo "$1" | sed s," ","",g) # Remove any spaces and make it a single string for chance in $(echo "$FN"|sed s,"\."," ",g) # Use... (7 Replies)
Discussion started by: sea
7 Replies

2. Shell Programming and Scripting

How to search a filename stored in a variable using a pattern?

hi, i have a variable which contains some file names delimited by a single space. FNAME="s1.txt s2.lst s3.cvs s4.lst" i have another variable that contains a pattern FILE_PATTERN="*.lst" i want to take the filenames from FNAME variable and assign each file name in to an array say for... (8 Replies)
Discussion started by: Little
8 Replies

3. Shell Programming and Scripting

Get latest filename without extension

I need to write a shell script to display the output of ls command like this ls -ltr *txt I get this -rw-r----- 1 oracle dba 51912704 Dec 11 10:27 /usr/local/sam/test12112012101247AM.txt -rw-r--r-- 1 oracle dba 7 Dec 11 11:58 /usr/local/sam/test.txt but I just need the latest... (7 Replies)
Discussion started by: sumang24
7 Replies

4. Shell Programming and Scripting

Variable not found error for a variable which is returned from stored procedure

can anyone please help me with this: i have written a shell script and a stored procedure which has one OUT parameter. now i want to use that out parameter as an input to the unix script but i am getting an error as variable not found. below are the unix scripts and stored procedure... ... (4 Replies)
Discussion started by: swap21783
4 Replies

5. Shell Programming and Scripting

removing the filename extension

Is there an easy way to strip off a filename's extension? For example, here's a filename: blahblahblah.thisisok.thisisnotok I want to get rid of .thisisnotok from the filename, so that what's left is blahblahblah.thisisok Thanks. I have a directory full of filenames that need to be... (5 Replies)
Discussion started by: daflore
5 Replies

6. Shell Programming and Scripting

cut filename extension

I need a small script (sh) to remove in a variable the filename extension. Example: f = "testfile.txt" and I need a $a with "testfile". Some one a idea? (4 Replies)
Discussion started by: Essbaumer
4 Replies

7. Shell Programming and Scripting

How to define a variable with variable definition is stored in a variable?

Hi all, I have a variable say var1 (output from somewhere, which I can't change)which store something like this: echo $var1 name=fred age=25 address="123 abc" password=pass1234 how can I make the variable $name, $age, $address and $password contain the info? I mean do this in a... (1 Reply)
Discussion started by: freddy1228
1 Replies

8. UNIX for Dummies Questions & Answers

script takes the whole filename instead of just extension

I am running my script from "/abc/" this path and it has no ".csv files" but has a ".txt" files namely temp1.txt My script goes as below, wherein it is suppose to find files with *.txt extension and *.csv extension in another path namely "/abc/xyz/": #!/bin/ksh PATH1="/abc/xyz/" value="*.csv... (1 Reply)
Discussion started by: wolverine999
1 Replies

9. Shell Programming and Scripting

changing filename extension

Hi All, i need to change the filename extension. For simplicity, we can assume that the extension after '.' is 3 characters only... but the filenames can vary. eg. changing from abc.doc to abc.dxs can i have a oneline command to achieve this (3 Replies)
Discussion started by: Hiso
3 Replies

10. Shell Programming and Scripting

separating filename and extension

Hi (warning: newbie question), I am writing a script to run a series of tests on a program, which involves a line: for file in `ls test_suite/*.args` but later I want to send the output to file.out. But I need to separate the filename and extension somehow...Also $file contains... (2 Replies)
Discussion started by: lucaspewkas
2 Replies
Login or Register to Ask a Question