Replacing the part of file name?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replacing the part of file name?
# 1  
Old 10-07-2008
Replacing the part of file name?

Hi All

One of my script generate following files. These files has static TIMESTAMP 20080227.

AccAdd_20080227_1000.dat
AccBal_20080227_1000.dat
Acc_20080227_1000.dat
AccGrpMem_20080227_1000.dat
AccToCust_20080227_1000.dat

What i need to do is, once the file has been generated, it should change the timestamo (20080227) & replace it with the parameter which i am passing. for example if i pass script parameter ... 20070909... then it should be like..

AccAdd_20070909_1000.dat
AccBal_20070909_1000.dat
Acc_20070909_1000.dat
AccGrpMem_20070909_1000.dat
AccToCust_20070909_1000.dat

Can someone tell me which comand should be ussed?

Regards,

Amit
# 2  
Old 10-07-2008
if you have Python , you can use the script here
example usage
Code:
# ls -1 Acc*dat
AccAdd_20080227_1000.dat
AccBal_20080227_1000.dat
AccToCust_20080227_1000.dat
Acc_20080227_1000.dat

# parameter="20090101"
# filerenamer.py -p "_.*_" -e _"$parameter"_ -l "Acc*.dat"
==>>>>  [ /home/AccToCust_20080227_1000.dat ]==>[ /home/AccToCust_20090101_1000.dat ]
==>>>>  [ /home/test/Acc_20080227_1000.dat ]==>[ /home/Acc_20090101_1000.dat ]
==>>>>  [ /home/AccBal_20080227_1000.dat ]==>[ /home/AccBal_20090101_1000.dat ]
==>>>>  [ /home/AccAdd_20080227_1000.dat ]==>[ /home/AccAdd_20090101_1000.dat ]

# filerenamer.py -p "_.*_" -e _"$parameter"_  "Acc*.dat"
/home/AccToCust_20080227_1000.dat  is renamed to  /home/AccToCust_20090101_1000.dat
/home/Acc_20080227_1000.dat  is renamed to  /home/Acc_20090101_1000.dat
/home/AccBal_20080227_1000.dat  is renamed to  /home/AccBal_20090101_1000.dat
/home/AccAdd_20080227_1000.dat  is renamed to  /home/AccAdd_20090101_1000.dat

# ls -1 Acc*dat
AccAdd_20090101_1000.dat
AccBal_20090101_1000.dat
AccToCust_20090101_1000.dat
Acc_20090101_1000.dat

# 3  
Old 10-07-2008
Java

Hi Ghost,

No i do not have python. I have tried using sed command. But it is not working.

Regards,

Amit
# 4  
Old 10-07-2008
Amit,

Try using the below in your script

timeparam=$1
ls Acc* | while read filename
do
firstname=`echo $filename | awk -F'_' '{print $1}'`
lastname=`echo $filename | awk -F'_' '{print $3}'`
newfilename=`echo $firstname`_`echo $timeparam`_`echo $lastname`
mv $filename $newfilename
done
# 5  
Old 10-07-2008
Try this, first without the last pipe command (| sh) to be sure you get the right mv command:

Code:
ls -1 *_20080227_* |
awk -F"_" -v old="20080227" -v new="20070909" '$2==old{print "mv "$0 " "$1"_"new"_"$3}' | sh

Regards
# 6  
Old 10-07-2008
Quote:
Originally Posted by Amit.Sagpariya
Hi Ghost,

No i do not have python. I have tried using sed command. But it is not working.

Regards,

Amit
Code:
# echo AccToCust_20090101_1000.dat |sed 's|\(.*\)_\(.*\)_\(.*\)|\1_20090201_\3|'
AccToCust_20090201_1000.dat

# 7  
Old 10-08-2008
Thank you guys... I got expected result. Thank you veru much
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replacing part of a delimited string

Hello, I have some tab delimited text data that I am processing. The second column looks like, NAME;pyrimidine-2,4-diol;cpd;2;line;37 I need to clean this up to just the name, pyrimidine-2,4-diol All lines have the same format, NAME;text;cpd;int;line;int followed by tab I have tried... (6 Replies)
Discussion started by: LMHmedchem
6 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. Shell Programming and Scripting

Renaming Filenames by replacing a part

Hi, I have little experience on Shell scripts, I searched the forum but couldn't make out what I want. I want to rename a set of files to a new file name a_b_20100101 c_d_20100101 ....................... ...................... I want to rename the files to a_b_20140101... (5 Replies)
Discussion started by: JaisonJ
5 Replies

4. Shell Programming and Scripting

Replacing part of the sentence using echo and sed

Hi, Iam using ksh and trying to execute the following syntax to replace one word of the sentence with a new word. But somehow sed is not able to replace the old value with new value. Please let me know where Iam going wrong. Sample Code : --> export line="VORTEX,abcdef" export... (3 Replies)
Discussion started by: ajithab
3 Replies

5. Shell Programming and Scripting

Awk: Need help replacing a specific column in a file by part of a column in another file

Hi, I have two input files as File1 : ABC:client1:project1 XYZ:client2-aa:project2 DEF:client4:proj File2 : client1:W-170:xx client2-aa:WT-04:yy client4:L-005A:zz Also, array of valid values can be hardcoded like Output : ABC:W:project1 XYZ:WT:project2 (1 Reply)
Discussion started by: aa2601
1 Replies

6. Shell Programming and Scripting

Replacing part of XML code inside comment tags

Hello! I'd like to modify custom values in a XML config file between comment tags using bash script. <feature> <keyboardshortcut>C-m</keyboardshortcut> <option1>disabled</option2> <option2>enabled</option2> </feature> <!-- bash script features START --> <feature> ... (2 Replies)
Discussion started by: prism1
2 Replies

7. Shell Programming and Scripting

Replacing part of a pattern in sed

Hi I have a piece of xml that has a pattern like this <int>159</int><int>30</int> I want to find this pattern but only substitute the second part of the pattern to {rid1}. Is that possible in sed ? Thanks. ---------- Post updated at 12:10 PM ---------- Previous update was at 12:01 PM... (11 Replies)
Discussion started by: vnn
11 Replies

8. Shell Programming and Scripting

Replacing some part of file

Hello, I have two files, consider that as file1 and file2. Here file1 is the master file. file1 will contain data like GS*RA*071000013*102562451P*091130*0520*334052023*X*003050 ST*820*334052023 BPR*C*509.77*C*ACH*CTX*01*071000013*DA*5529085*9000002008**01*071000013*DA*5529085*091130... (8 Replies)
Discussion started by: atlantis
8 Replies

9. UNIX for Dummies Questions & Answers

Replacing part of a text file with user input.

Ok, I am brand new to UNIX and I am trying to learn a cross between basic script and database use. I had got some ideas off the net on simple ideas for learning UNIX. I am working on creating a simple phone book program that allows myself to enter our employees from work into a phone book text... (0 Replies)
Discussion started by: georgefurbee
0 Replies

10. Shell Programming and Scripting

Need help regarding replacing a part of string

Hi all suppose i have a string "abacus sabre", i need to replace occurences 'ab' with 'cd' and i need to store this result into same string and i need to return this result from script to the calling function, where as the string is passed from calling function. i tried like this ... (1 Reply)
Discussion started by: veerapureddy
1 Replies
Login or Register to Ask a Question