Renaming multiple files in a directory


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Renaming multiple files in a directory
# 8  
Old 10-25-2012
Quote:
Originally Posted by msabhi
Code:
ls | sed 's/.*/mv & &_Normal/' | sh

This worked perfect. Thanks for the solution. I understood the complete command except the use of "| sh" in last. Can you please explain this?

---------- Post updated at 12:41 AM ---------- Previous update was at 12:38 AM ----------

Quote:
Originally Posted by rdrtx1
Try without quotes.
Already tried this as well but it gave the same {FileName}_Normal output.

Code:
mv $i {$i}_Normal

# 9  
Old 10-25-2012
You can do it all in shell without invoking external programs:
Code:
for f in *; do
  mv -- "$f" "$f"_Normal
done

In addition, the shell-only solution won't break on pathological filenames.
You may also add nullglob (or test with -f) to avoid errors when there are no matching filenames.

Last edited by radoulov; 10-25-2012 at 05:24 PM..
This User Gave Thanks to radoulov For This Post:
# 10  
Old 10-25-2012
Code:
sh

is used to execute the piped output from sed command...you can use your "shell" name there

Quote:
Originally Posted by manishdivs
This worked perfect. Thanks for the solution. I understood the complete command except the use of "| sh" in last. Can you please explain this?
This User Gave Thanks to msabhi For This Post:
# 11  
Old 11-06-2012
Hello,

Directory is having following files:
A_Normal
B_Normal
C_Normal
Etc tc

I would like to rename all the files without “_Normal”. After rename the file name should be:
A
B
C
Etc etc

I have written following code:
Code:
#!/bin/sh
 
for i in `ls`
do
echo Changing $i .............................
filename = 'basename $i _Normal'
mv "$i" "$filename"
done

But it is giving error like:
Code:
Changing A_Normal .............................
ksh: filename:  not found.
mv: 0653-401 Cannot rename A_Normal to :
             A file or directory in the path name does not exist.

Please help me in rectifying this error.

---------- Post updated 11-07-12 at 03:22 AM ---------- Previous update was 11-06-12 at 06:25 AM ----------

I corrected it by myself, posting it if it may help anyone else:

Code:
13:48:50 $ cat rename_files
#!/bin/sh
 
for i in `ls`
do
echo Changing $i .............................
filename=`basename $i _Normal`
#echo $filename
mv "$i" "$filename"
done
13:48:59 $


Last edited by Franklin52; 11-07-2012 at 06:58 AM.. Reason: Please use code tags for data and code samples
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

Moving and renaming multiple files in a directory

Hi. I am trying to automate the movement and renaming of a number of files in a directory. I am using the 'mv' command as I do not have access to 'rename'. I have the following scripted FILES=$(ls /transfer/move/sys/mail/20130123/) if ; then for i in ${FILES} ; do mv... (4 Replies)
Discussion started by: jimbojames
4 Replies

3. UNIX for Dummies Questions & Answers

Renaming files after their directory name in multiple sub directories

So I am not sure if this should go in the shell forum or in the beginners. It is my first time posting on these forums. I have a directory, main_dir lets say, with multiple sub directories (one_dir through onehundred_dir for example) and in each sub directory there is a test.txt. How would one... (2 Replies)
Discussion started by: robotsbite
2 Replies

4. UNIX for Dummies Questions & Answers

renaming files in the directory

suppose i have a few file like "a b c.txt" , "hello world.c" etc...(files that have space between them in their filenames). how do i change their filenames to "a_b_c.txt" and "hello_world.c" respectively? heres what i have tried...but failed $ find -name "*" -exec mv "{}" "`echo {} | tr "... (4 Replies)
Discussion started by: c_d
4 Replies

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

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

7. Shell Programming and Scripting

Renaming files as per directory

I have many files with duplicate names spread out over several tens of directories. I would like to mv them to the parent directory, but to avoid conflicting filenames I'd like to prefix each filename with the name of the directory it was in. For example, if this is my directory structure:... (2 Replies)
Discussion started by: dotancohen
2 Replies

8. Shell Programming and Scripting

renaming files in a directory to lowercase

can anybody help me in renaming all the file in a directory to lowercase? script will be helpful. (1 Reply)
Discussion started by: vhariprasad
1 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