Renaming Multiple Files that have variables in the name


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Renaming Multiple Files that have variables in the name
# 1  
Old 01-06-2011
Renaming Multiple Files that have variables in the name

I am trying to rename multiple files from lower case to upper case, but then I need to change the word SHIP to Ship and CSV to csv. This is a sample of the input file name input_file_ship_1234_20110106.csv I need this to look like this INPUT_FILE_Ship_1234_20110106.csv this is the result when I run the following code INPUT_FILE_Ship*Ship.csv.

# rename lower case name to UPPER CASE NAME
cat $SRC_FILE | tr '[:lower:]' '[:upper:]' > $UC_FILEA

# rename SHIP to Ship and CSV to csv
for i in `ls INPUT_FILE_SHIP*`
do
xx=`echo $i | sed -e 's/SHIP/Ship/g' | sed -e 's/CSV/csv/g'`
done

Thank you
# 2  
Old 01-06-2011
Use code tags or get dunned by a moderator!

Really, it is better form to step up to writing a ksh script in sed from an ls. You can inspect the script before running it.
Code:
 
ls ... | sed '
  s/.*/mv & &/
  s/\(.*\)SHIP/\1Ship/
  s/\(.*\)CSV/\1csv/
  /mv \(.*\) \1$/d
 ' >/tmp/new.sh

I made sure there was a real rename possible. This pragma is very robust for large scale. You can do a whole tree with 'find ...' for 'ls ...'. You can swap '|ksh' for '>/tmp/new,sh' when you are sure it is stable.
# 3  
Old 01-06-2011
Thank you. Actually it's my tr that is causing me issues. After adding you code and retesting getting the exact same results I removerd the sed command and just ran with the tr, I see now that the tr is causing my file to have an "*" in the name.
# 4  
Old 01-07-2011
The sed y command can do tr sorts of things. However, case is a lower-functionality area in sed and regex, IMHO. Being a character transformer, tr is very robust except for null, since the transform arguments are null terminated strings.
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. Shell Programming and Scripting

Problem renaming files using variables

Hi, I have the following problem: I have a list of files: 1.txt 2.txt 3.txt 4.txt Then I have a list of variable names inside variable.txt: A B C D I'd like to rename 1.txt, 2.txt etc using the variables from variable.txt (2 Replies)
Discussion started by: hubleo
2 Replies

3. 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

4. Shell Programming and Scripting

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... (9 Replies)
Discussion started by: Harleyrci
9 Replies

5. 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

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. 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

8. Shell Programming and Scripting

Renaming multiple files

hi, I've a machine running RHEL3,kernel version 2.4. i need to rename multiple files under one directory as follows: ls demo.c demo.S demo-1243.sw demo.xyz and now i need to replace the occurrence of demo with demo_1 for each of the above file. the tedious way is to go ahead and do mv on... (2 Replies)
Discussion started by: amit4g
2 Replies

9. UNIX for Dummies Questions & Answers

Renaming multiple files

Help! I was trying to rename multiple files. Like in DOS, i decided to use wildcards and now i am missing some files. Any ideas on how to recover them? Or find out where the files went? I had these 3 files resume1.log elecresume.log compresume.log The command I ran was mv *.log *.log.bak... (6 Replies)
Discussion started by: rmayur
6 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