Replacing .dat.gz to .txt.gz in filename


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replacing .dat.gz to .txt.gz in filename
# 1  
Old 09-02-2014
Replacing .dat.gz to .txt.gz in filename

Hi,

I tried below method;
Code:
mv -v /oracle1/scr/tilki/willsendtilkiNew/VOICE-MO_$nfname.gz \
$(echo  /oracle1/scr/tilki/willsendtilkiNew/VOICE-MO_$nfname.gz | tr 'dat' 'txt');

nfame variable has the string "dat" .

I need to rename files like below;
Code:
ASIS: 20140902103700_100319.dat.gz
NEEDED: 20140902103700_100319.txt.gz

how can I do this?
thanks in advance;

Last edited by vbe; 09-02-2014 at 05:03 AM.. Reason: code tags not icode thanks
# 2  
Old 09-02-2014
Hello,

Welcome to the forum, please use code tags for commands and codes.
Following example may help you in same.

Let us say we have a file named filedat, then we have saved dat value in a variable named nfame.

Code:
nfame="dat"
cat file$nfame
23
44
21
 
mv file$nfame $(echo file$nfame | awk -vfame="txt" '{gsub(/dat/,fame,$0); print $0}')
 
file named filedat has been changed to filetxt now. 
ls  "filetxt"
filetxt


Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 3  
Old 09-02-2014
with keep the logic of snr_silencer, you forget the double quote around command echo

Code:
"$(echo $nfname.gz | tr 'dat' 'txt')"

This User Gave Thanks to protocomm For This Post:
# 4  
Old 09-02-2014
I see no reason why it should not work except for in your code you declared nfname but then you say:
Quote:
nfame variable has the string "dat" .
which is not quite the same...
# 5  
Old 09-02-2014
thanks for your answers. I found an interesting result.

Now, I wonder why am I getting this error below. I give the path /oracle but it sees the path /orxcle1;
Code:
+ echo /oracle1/scr/tilki/willsendtilkiNew/VOICE-MO_20140902112833_110365.dat.gz
+ mv -v /oracle1/scr/tilki/willsendtilkiNew/VOICE-MO_20140902112833_110365.dat.gz /orxcle1/scr/tilki/willsenttilkiNew/VOICE-MO_20140902112833_110365.txt.gz
`/oracle1/scr/tilki/willsendtilkiNew/VOICE-MO_20140902112833_110365.dat.gz' -> `/orxcle1/scr/tilki/willsenttilkiNew/VOICE-MO_20140902112833_110365.txt.gz'
mv: cannot move `/oracle1/scr/tilki/willsendtilkiNew/VOICE-MO_20140902112833_110365.dat.gz' to `/orxcle1/scr/tilki/willsenttilkiNew/VOICE-MO_20140902112833_110365.txt.gz': No such file or directory

When I remove full path, and using cd command, it did not give error.

Code:
cd /oracle1/scr/tilki/willsendtilkiNew
gzip VOICE-MO_$nfname
mv -v VOICE-MO_$nfname.gz $(echo VOICE-MO_$nfname.gz | tr 'dat' 'txt');
cd -

# 6  
Old 09-02-2014
If you are trying to change the string ".dat" to ".txt" in a filename, tr is NOT the way to do it. The command:
Code:
tr 'dat' 'txt'

doesn't just change the string dat to the string txt, it changes every occurrence of d to t and every occurrence of a to x.

If you want to move all files in the directory /oracle1/scr/tilki/willsendtilkiNew/ whose names end with .dat.gz to have names with the same base but ending in .txt.gz, try something like:
Code:
for fn in /oracle1/scr/tilki/willsendtilkiNew/*.dat.gz
do      mv -v "$fn" "${fn%.dat.gz}.txt.gz"
done

This User Gave Thanks to Don Cragun For This Post:
# 7  
Old 09-02-2014
thanks for all answers. Especially to Don Cragun for tr command...

But I still wonder how to do it one by one. I mean not using a for/while loop.

Code:
mv -v "$fn" "${fn%.dat.gz}.txt.gz"

For example; how can I put full path into the code above?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract the filename and write to .txt

I'm new to this forum and also to UNIX scripting. I need a command to extract the filename from the path and write to .txt file. Thanks in advance for your guidance. (23 Replies)
Discussion started by: Ram Kumar_BE
23 Replies

2. UNIX for Dummies Questions & Answers

Replacing part of filename

Hi guys! I have quite a lot of files like all_10001_ct1212307460308.alf* and I want to get rid of the first number for all at once like: all_ct1212307460308.alf* How can I do this in the shell? (12 Replies)
Discussion started by: TimmyTiz
12 Replies

3. UNIX for Dummies Questions & Answers

Add a new column to txt file containing filename

I would like help adding a new column to a large txt file (~10MB) that contains the filename. I have searched other posts but have not found an adequate solution. I need this extra column so I can concatenate >100 files and perform awk searches on this large file. My current txt file look... (4 Replies)
Discussion started by: kellywilliams
4 Replies

4. Shell Programming and Scripting

How to unzip Filename.txt.Z

Hii I am having a file in Unix which is filename.txt.Z How can i take of the Z to read the file Please help Regards Laxmi (2 Replies)
Discussion started by: laxmi1166
2 Replies

5. Shell Programming and Scripting

Replacing white spaces in filename

Hi; In following code find LOG_DIR -type f | while read filename; do echo $filename; done I want to precede each white space encountered in filename with \ so that when i use $filename for running some commands in do...done,it wont give me an error. will appreciate ur help in this.... (1 Reply)
Discussion started by: ajaypadvi
1 Replies

6. UNIX for Dummies Questions & Answers

Replacing first line of file by >filename

Hi All, I have a set of files named S5_SK1.chr01 S5_SK1.chr02 S5_SK1.chr03 ..... and the first line of these files is >SK1.chr01 >SK1.chr02 >SK1.chr03 ..... Can anyone suggest how I can change the first line of all these files with the filename itself? So my expected output for the first lines of... (14 Replies)
Discussion started by: pawannoel
14 Replies

7. Shell Programming and Scripting

write filename as first line in a txt file

Could anyone very kindly help me a simple way to perform the - perhaps - very trivial task of writing the name of a file as first line of that file which is in txt format? And would be possible to do this recursively for some thousands files in the XY directory? And, again, add to the simple... (3 Replies)
Discussion started by: mjomba
3 Replies

8. Shell Programming and Scripting

SED and replacing Txt Bullet

Hi Guys, I'm sure that there is simple solution .. I googled .. it and nothing is coming up ... ( I Tried it as hex 0xE2 no luck ) sed -e 's/•/X/g' data.txt > data1.txt I'm trying to replace bullet with X Actually VI editor shows this sign: ¥ But it doesn't work - I'm sure that SED... (7 Replies)
Discussion started by: NDxiak
7 Replies

9. Shell Programming and Scripting

rename multiple filename.45267.txt to >> filename.txt

i have several thousand files and in subdirs that are named file.46634.txt budget.75346.pdf etc i want to remove the number but retain the extension. it is always a 5 digit. thanks. (6 Replies)
Discussion started by: jason7
6 Replies

10. UNIX for Dummies Questions & Answers

Replacing string with filename

Hi All, I've recently run a script that inserts the filename into all files of my active directory. Now I want to move the filename string and have it replace text a few lines down. In other words, here's what I'm trying to do. Here is a file called 'goodtimes': " goodtimes Hi, Welcome... (1 Reply)
Discussion started by: calrog
1 Replies
Login or Register to Ask a Question