Rename many files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Rename many files
# 1  
Old 04-02-2009
Rename many files

Hi all

I have files in the following format:

01_anote1.pdf
01_bnote1.pdf
01_control1.pdf
01_ethics1.pdf
01_invoice1.pdf
01_invoice_21.pdf
20_quote_l1.pdf


I need to rename them to

01_anote.pdf
01_bnote.pdf
01_control.pdf
01_ethics.pdf
01_invoice.pdf
01_invoice_2.pdf
20_quote_l.pdf

That is, remove the 1 before the extension. Your help ppreciated.

Thanks

Lucas
# 2  
Old 04-02-2009
Try this first without the coloured part, to be shure the mv commands are correct:

Code:
ls *.pdf | sed 's/\(.*\)1\(\..*\)/mv & \1\2/' | sh

Regards
# 3  
Old 04-02-2009
Try..

Quote:
for i in `ls -1 *.pdf`; do mv $i `echo $i | sed 's/1\.pdf/\.pdf/g'`; done
# 4  
Old 04-02-2009
@lmatlebyane,

Try this,

The following command rename the files in the directory.

rename 1.pdf .pdf *1.pdf

This one replace all the contents in the files whichever filename ends with 1.pdf

sed 's/1.pdf/.pdf/g' *1.pdf
# 5  
Old 04-02-2009
Thanks, tried all solutions and they all work!
# 6  
Old 04-02-2009
Quote:
Originally Posted by Franklin52
Try this first without the coloured part, to be shure the mv commands are correct:

Code:
ls *.pdf | sed 's/\(.*\)1\(\..*\)/mv & \1\2/' | sh

Regards

Can someone please explain this command
# 7  
Old 04-03-2009
well, I can try explaining..

ls *.pdf - its clear i guess.

now..
Quote:
sed 's/\(.*\)1\(\..*\)/mv & \1\2/'

this matches anything1.anything i.e the filename like 01_anote1.pdf

and replacing this by mv anything1.anything anything.anything

here - "anything" before dot means filename and "anything" after dot means extntion.

so the output is mv 01_anote1.pdf 01_anote.pdf which is redirecting to the shell to execute the mv command.

now in sed... & is used to replace what is matched previously.
\1 \2 are used to recall the saved regex by escaped paranthesis.

as far as i know m you can have max 9 save regex/strings.

@Franklin52 or other : if there is something else in your command please share.

Last edited by clx; 04-03-2009 at 03:35 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SBATCH trinity for multiple files and rename/move the output files

Hey guys, I have wrote the following script to apply a module named "trinity" on my files. (it takes two input files and spit a trinity.fasta as output) #!/bin/bash -l #SBATCH -p node #SBATCH -A <projectID> #SBATCH -n 16 #SBATCH -t 7-00:00:00 #SBATCH --mem=128GB #SBATCH --mail-type=ALL... (1 Reply)
Discussion started by: @man
1 Replies

2. Shell Programming and Scripting

Script to unzip files and Rename the Output-files

Hi all, I have a many folders with zipped files in them. The zipped files are txt files from different folders. The txt files have the same names. If i try to find . -type f -name "*.zip" -exec cp -R {} /myhome/ZIP \; it fails since the ZIP files from different folders have the same names and... (2 Replies)
Discussion started by: pmkenya
2 Replies

3. UNIX for Dummies Questions & Answers

Rename all .sh files to .pl

I have various .sh and .pl files in one directory. I want to rename all the .sh files to .pl i.e testscript.sh --> testscript.pl I am trying to use mv *.sh *.pl It doesnt work though!! (3 Replies)
Discussion started by: chrisjones
3 Replies

4. Shell Programming and Scripting

How to rename files

Hi Guys, I have to rename about 180 files in different folders in linux. For example, abc_110117.txt eff_110117.txt zzz_110117.txt After renaming the files, these files should like like abc.txt eff.txt zzz.txt I created a small script to rename the files like ls... (2 Replies)
Discussion started by: naveed
2 Replies

5. Shell Programming and Scripting

Rename files

I wrote a script that accepts filenames as argument but I am having difficulty if filename has both(uper/lower) cases..so I want to write a script that accepts one or more filenames as arguments and converts filenames to uppercase..(actually rename files..) (2 Replies)
Discussion started by: aadi_uni
2 Replies

6. Shell Programming and Scripting

rename files Ax based on strings found in files Bx

Hi, I'm not very experienced in shell scripting and that's probably why I came across the following problem: I do have several hundred pairs of text files (PF00x.spl and PF00x.shd) where the first file (PF00x.spl) needs to be renamed according a string that is included in the second file... (12 Replies)
Discussion started by: inCH
12 Replies

7. Shell Programming and Scripting

Rename files

Hi, I wanna rename bunch of files which has ":" to -. ie. rename file named file1:file1 to file1-file1. any ideas? (2 Replies)
Discussion started by: linuxaddict7
2 Replies

8. Shell Programming and Scripting

Rename files

Hello, I've a list of file like this img_001 img_22 img_44 and I would rename all with this form photo_0001 photo_0002 photo_0003 photo_0004 suggestions?Thanks to all. (2 Replies)
Discussion started by: cv313x
2 Replies

9. UNIX for Dummies Questions & Answers

rename files help

Hi, I've already search for this issue but I found different scripts for rename files, but I don't know how to customize it for my needs. Here's what I want to do: I have a lot of files inside many directories, like this: /aa/01.txt /aa/02.txt /ab/01.txt /ab/02.txt I want all those files... (2 Replies)
Discussion started by: piltrafa
2 Replies

10. Shell Programming and Scripting

rename files

hey all, I have files in the format of ABCD20061101 and ABCDEF20061101 in one directory, I would like to change all ABCD20061101 to ABCDEF20061101 and the problem is if I do a simple pattern match of ABCD, then those ABCDEF20061101 would also... (2 Replies)
Discussion started by: mpang_
2 Replies
Login or Register to Ask a Question