Hi
I have a variable which holds full path to the file, for example
z=/bb/data3/f4222pdb.dta.new
I need to remove the extension .new so it would look like
z=/bb/data3/f4222pdb.dta
Is there a command to do this? This variable is used in the "for" loop later. I am in ksh. Thanks a lot -A
echo $z
/bb/data3/f4222pdb.dta.new
z=${z%.+([a-z])}
echo $z
/bb/data3/f4222pdb.dta
z=/bb/data3/f4222pdb.dta.new
> echo $z
/bb/data3/f4222pdb.dta.new
> echo $z | cut -d"." -f1-2
/bb/data3/f4222pdb.dta
or, doing the replacement in one command line
z=/bb/data3/f4222pdb.dta.new
z=$(echo $z | cut -d"." -f1-2)
> echo $z
/bb/data3/f4222pdb.dta
An even simplier solution.
$ z=${z%.new}
$ print $z
/bb/data3/f4222pdb.dta
newz=${z%%.new}
mv newz z