Renaming multiple files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Renaming multiple files
# 1  
Old 10-11-2010
Renaming multiple files

I have 34 file in a directory that all have different names, however, they do have 1 pattern in commmon. They all have "-10-11-2010" date format in the name. I want to replace the date in the file name with a supplied date or maybe even the system date. I am sure I will be using awk or sed to accomplish this. Any help would be great. Thanks in advance.

P.S.
Any ideas why the .bash_profile will not load or be read at login time? I set one up for a user and they have to issue the source command in order for their .bash_profile to take affect. The default .profile is normal and everyone uses it, in fact not many use .bash_profile or a custom .profile

Thanks!
Harleyrci
# 2  
Old 10-11-2010
Hi.

To your first question:

Code:
NEW="12-12-2012" # get this value whichever way

ls *-10-11-2010* | while read FILE; do
  mv "$FILE" "${FILE/-10-11-2010/-$NEW}"
done

Or in sed / xargs (no good if the filenames have spaces):
Code:
NEW="12-12-2012"

ls *-10-11-2010* | sed "p; s/-10-11-2010/-$NEW/" | xargs -n2 mv

# 3  
Old 10-11-2010
Awesome. I will give it a shot. Thanks!!!!!

---------- Post updated at 08:38 PM ---------- Previous update was at 08:31 PM ----------

The only issue is, is that the dates in the filename may all be different. Some may say text-09-20-2008-text or text-10-10-2007-text. I was thinking i could just match for numbers, any numbers in the format text-00-00-0000-text and replace what ever number are text-num-num-num-text to the date of my choice. Are there some gen expressions i could use, or some perl one liners?
Harleyrci
# 4  
Old 10-11-2010
bash code:
  1. #!/bin/bash
  2. newdate=00-00-0000
  3. for file in *[0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]*
  4. do
  5.         echo mv $file ${file%[0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9].*}$newdate${file#*[0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]}
  6. done
# 5  
Old 10-12-2010
Wow! thats crazy. I will try it and let you know. Thanks for the help.
Harleyrci
# 6  
Old 10-12-2010
Hi,

Another solution:
Code:
find . -type d | sed 's/\(.*\/.*\)[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\}\(.*\)/mv & \1$(date +%m-%d-%Y)\2/' | sh -x

Regards,
# 7  
Old 10-12-2010
Quote:
Originally Posted by birei
Hi,

Another solution:
Code:
find . -type d | sed 's/\(.*\/.*\)[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\}\(.*\)/mv & \1$(date +%m-%d-%Y)\2/' | sh -x

Regards,
Code:
find . -type d | sed "s/\(.*\/.*\)[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\}\(.*\)/mv & \1$(date +%m-%d-%Y)\2/" | sh -x

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Renaming multiple files in sftp server in a get files script

Hi, In sftp script to get files, I have to rename all the files which I am picking. Rename command does not work here. Is there any way to do this? I am using #!/bin/ksh For eg: sftp user@host <<EOF cd /path get *.txt rename *.txt *.txt.done ... (7 Replies)
Discussion started by: jhilmil
7 Replies

2. UNIX for Dummies Questions & Answers

Renaming Multiple files

Hello, I have multiple files that I want to change the names to. Let's say for example that I want to rename all the files in the left column to the names in the right column: What would be the easiest way to go about doing this? Thanks. (1 Reply)
Discussion started by: Scatterbrain26
1 Replies

3. UNIX for Dummies Questions & Answers

Renaming multiple files

Hi, Can we rename multiples files using find or awk utility? Now I am doing it using for loop and getting the file name and in side the loop using the mv command. Like ine need t rename all txt files to doc file. For example a1.txt => a1.doc a2.txt => a2.doc a3.txt => a3.doc myfile.txt... (2 Replies)
Discussion started by: siba.s.nayak
2 Replies

4. UNIX for Dummies Questions & Answers

Renaming multiple files

I have multiple gif files in a directory with different names. How can i rename them to have this result: file01.gif file02.gif file03.gif . . . file0500.gif Thanks for your help. (3 Replies)
Discussion started by: netx
3 Replies

5. Shell Programming and Scripting

renaming multiple files

I have to rename 100+ files at a time on the server & was trying to use a script for doing that. I have used ultra edit to create a file having current filename & new file name as below file234.txt | file956.txt file687.txt | file385.txt There is no fixed pattern while renaming & would... (20 Replies)
Discussion started by: crux123
20 Replies

6. Shell Programming and Scripting

Renaming multiple files

Hi, I have several hundred files I need to rename, and I'm would rather not hit F2 for each file individually to rename them. Example of file: large1961.jpg What I need the file to be renamed as: 1961.jpg I don't know what type of command I can execute within a shell script that would... (7 Replies)
Discussion started by: jayell
7 Replies

7. Shell Programming and Scripting

Renaming multiple files

I have a bunch of files txt1.csv--2008 thru to txt3.csv--2008. If i wanted to rename these files all at the same time to txt*.csv-2008 what would be the best way to do it... Just need to get rid of the extra - in each file name.. not all files are going to be called txt*.csv--2008. Just... (6 Replies)
Discussion started by: Jazmania
6 Replies

8. UNIX for Dummies Questions & Answers

Renaming Multiple files

Hi All my dear friends I had multiple files in my directory with .pcv and .sqv extn I want to rename all .pcv files with .pc extn and all .sqv files with .sql extn Please help me out.:eek::mad::rolleyes: e.g. /trimsbld/users/dhirens/scripts/newfolder==>ll -rt total 2856 -rwxr-xr-x 1... (2 Replies)
Discussion started by: dhiren_shah
2 Replies

9. Shell Programming and Scripting

Renaming multiple files

Can someone please tell me how I can rename a bunch of files at a time. I hava a directory that has 700+ files that are named *.xyz and I would like to rename them to *.abc . How can I do that with a simple command ? mv *.xyz *.abc did not work. Thanks in advance (4 Replies)
Discussion started by: jxh461
4 Replies

10. UNIX for Dummies Questions & Answers

renaming multiple files

Hi to everyone!!. Here's my stupid question of the day. When I have to rename a file I use "mv filename newfilename". But what about renaming multiple files, for example if I want to add the prefix "old" to several image files (in fact it's what I wanted to do..). Thanks in advance.... :D (6 Replies)
Discussion started by: piltrafa
6 Replies
Login or Register to Ask a Question