Using Vim or Ex to rename all files in a folder


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Using Vim or Ex to rename all files in a folder
# 1  
Old 09-03-2010
Question Using Vim or Ex to rename all files in a folder

Is there a way to use Vim or Ex to rename all files in a folder? For example if i have a folder with Apples1.txt, Apples2.txt, Apples3.txt, could I rename all files so they are Oranges1.txt, Oranges2.txt, Oranges3.txt ?

I know with :bufdo %s/apples/oranges/g|update you can do this for inside the files, but I need to do it for the file names.

Mods, please move this if it's in the wrong forum. Thanks in advance.
# 2  
Old 09-03-2010
so any reason that you don't like to use mv command to rename them?
This User Gave Thanks to rdcwayx For This Post:
# 3  
Old 09-07-2010
I tried a few variations on mv *apples* *oranges* but I can't get it to work. Is that what you mean?
# 4  
Old 09-07-2010
Code:
for file in $(ls *.txt)
do 
  new=$(echo $file |sed "s/Apples/Oranges/")
  mv $file $new
done

This User Gave Thanks to rdcwayx For This Post:
# 5  
Old 09-07-2010
ls is not necessary, it is better to be specific about the pattern otherwise there will be error messages and it is better to use quoting, e.g:
Code:
for file in apples*.txt
do     
  mv "$file" "$(echo $file |sed "s/apples/oranges/")"
done

or
bash/ksh93:
Code:
for file in apples*.txt
do     
  mv "$file" "${file/apples/oranges}"
done

posix in this particular case:
Code:
for file in apples*.txt
do     
  mv "$file" "oranges${file#apples}"
done


Last edited by Scrutinizer; 09-07-2010 at 06:26 AM..
# 6  
Old 09-07-2010
if you have rename, then use

Code:
rename 's/Apples/Oranges/' *

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to rename all files and folder containing underscore?

I want to rename all files and folder containing underscore in name and replace underscore with hyphen. Currently I am using following code, rename '_' '-' */*/* It was working but now it is showing me "Argument list too long" Please help! (2 Replies)
Discussion started by: opticalpigion
2 Replies

2. Shell Programming and Scripting

Rename folder

hi guys i have a group of directory like these p1( 15 - 16 ) p2( 17 -15 ) p1 ( 14 - 20 ) p2 ( 13 -17 ) .. . . directories contain numbers represent time i want to rename all directories and change all numbers in directories' name . for example p1( 15 -16 ) will change to... (16 Replies)
Discussion started by: mhs
16 Replies

3. UNIX for Dummies Questions & Answers

looping through files, doing something, and rename in new folder

Hi, I'm really new at this but have several hundred files that i need to do something with and save with a new name. The files are 26 columns wide. I want to select some for renaming. I've figured out what to do to each file ("file-1.CSV"| grep -v "=" | cut -f 1-4,9,14,15,18,19,20,21,22,24,26... (2 Replies)
Discussion started by: bob101
2 Replies

4. Shell Programming and Scripting

sed to rename files in a folder - please help with script

Hello, I am new to shell scripting and stuck on renaming files in a folder. The files have the format chp01_00001.wav chp01_00002.wav .... chp02_00001.wav chp02_00002.wav .... but I want them to have the following names: chp_bloomy_00001.wav chp_bloomy_00002.wav chp_bloomy_00003.wav... (8 Replies)
Discussion started by: Bloomy
8 Replies

5. UNIX for Dummies Questions & Answers

Bash script to rename all files within a folder...

Hi. I don't have any experience with making scripts in bash. I need a simple script to rename all files in a folder to the format file1.avi, file2.avi, file3.avi, and so on..... Please note that the original files have different filenames and different extensions. But they all need to be... (2 Replies)
Discussion started by: dranzer
2 Replies

6. Linux

rename files in a folder with date&time stamp

Hi, I want to rename all the files (more than 100 files) in a fodler to another folder with date&time stamp. foe eg, file1.dat file2.dat file3.dat .. to be renamed as file1100629_16_30_15.txt (yy-mon-dd_hh_mi_ss) file1100629_16_30_16.txt .. so on (2 Replies)
Discussion started by: feroz
2 Replies

7. Shell Programming and Scripting

Copy files from folder and rename them

hello, I need to build a shell script that receives the folder to copy by parameter and copy all files except thumb.db to another folder and rename them like, file.jpg renamed to file_bb1.jpg. can someone help me Thanks (4 Replies)
Discussion started by: zeker
4 Replies

8. Shell Programming and Scripting

Rename folder based on containing XML file

Hi everyone. I'm in need of a solution where i need to rename a folder to a name that's inside an XML file in that folder. OS is Ubuntu 9.10 with Gnome. I've tried using grep, sed and xpath, but can't seem to find a solution. This is the simplified folder structure: FOLDER-NAME -... (4 Replies)
Discussion started by: CoolCow
4 Replies

9. Shell Programming and Scripting

rename all the files in a folder..

Hi Guys, I have 5000 files in a folder. all are .DAT files. I want to rename them as .TXT files. I tried the following command. mv *.DAT *. TXT But it is throwing an error. Can you please tell me what am i doing wrong. Thanks & Regards, Magesh. (11 Replies)
Discussion started by: mac4rfree
11 Replies

10. UNIX for Dummies Questions & Answers

rename files in a folder

i have a folder that contains 100's of files: abc, bca, def, ghi.... i want to rename abc with 1, bca with 2, def with 3, ghi with 4 and so on. my way, i create a file.txt with contents: 1 2 3 4 i use while loop to rename my files. without using file.txt, i just want to rename abc with... (4 Replies)
Discussion started by: tjmannonline
4 Replies
Login or Register to Ask a Question