Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
08-22-2012, 08:05 AM
|
#1
|
LQ Newbie
Registered: Aug 2012
Posts: 2
Rep: 
|
rename multiple files at a time
Hi,
I have number of files named 11.log,12.log,...........,20.log. I want to rename/move them as 10.log,11.log,.........,19.log respectively. Please suggest a script.
Thanks,
|
|
|
08-22-2012, 09:39 AM
|
#2
|
Bash Guru
Registered: Jun 2004
Location: Osaka, Japan
Distribution: Arch + Xfce
Posts: 6,852
|
Do you see the box at the bottom titled "Similar Threads"? Start by looking there. Or use the LQ search feature. If you had done that before you posted you would've found some of the hundreds of previous threads asking the exact same thing.
|
|
|
08-22-2012, 11:14 AM
|
#3
|
LQ Veteran
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809
|
Code:
for filename in $(ls); do
newfilename = <insert code to determine new file name>
mv $filename $newfilename
done
Depending on where the files are, you might need "ls -R" instead of ls, and you might need to test for directories in the ls listing
|
|
|
08-22-2012, 12:20 PM
|
#4
|
Senior Member
Registered: Nov 2004
Location: Texas
Distribution: RHEL, Scientific Linux, Debian, Fedora
Posts: 3,935
Rep: 
|
Make use of mv(1)'s -i option when testing / building this sort of script -- or learn the hard way.
My 2 cents.
|
|
|
08-22-2012, 08:49 PM
|
#5
|
Member
Registered: Feb 2003
Location: Florida
Distribution: Fedora 18
Posts: 862
Rep:
|
@ pixellany: Would this work?
Code:
#!/bin/bash
x=10
for i in *
do
j=$(printf "%.2d_$i\n" $x)
mv $i $j
x=$((x+1))
done
unset x
exit 0
I'm thinking since he wants to start the numbering of files with 10. My 2 cents worth also 
Last edited by SharpyWarpy; 08-22-2012 at 08:51 PM.
Reason: Targeting pixellany!
|
|
|
08-22-2012, 09:27 PM
|
#6
|
Member
Registered: Jun 2006
Location: dartmouth, nova scotia
Distribution: slackware 12.1
Posts: 74
Rep:
|
hmm, on slackware there's a script already built, called, magically enough, rename, i'm sure it's in other distros.
|
|
|
08-22-2012, 09:43 PM
|
#7
|
Member
Registered: Feb 2003
Location: Florida
Distribution: Fedora 18
Posts: 862
Rep:
|
Quote:
Originally Posted by sKaar
hmm, on slackware there's a script already built, called, magically enough, rename, i'm sure it's in other distros.
|
Yes, rename is very common. Unfortunatly it might be confusing to use this way. At least for me. That's because I have the evil handicap of misunderstanding things that SHOULD be easy.
|
|
|
08-23-2012, 04:22 AM
|
#8
|
Member
Registered: Jun 2006
Location: dartmouth, nova scotia
Distribution: slackware 12.1
Posts: 74
Rep:
|
mmm, yah, i still have to look up the way it's used when ever i actually have to use it, man rename helps for a refresher, but, dummy files to test may help.
|
|
|
08-23-2012, 08:19 AM
|
#9
|
LQ Newbie
Registered: Aug 2012
Posts: 2
Original Poster
Rep: 
|
rename multiple files at a time
Thanks to all for the replies. However, I have successfully done it using the script
x=1
for i in `seq 11 20 `
do
z=$(($i - $x))
mv $i.log $z.log
done
exit 0
Thanks to my friends Sudhir and Sooraj, with whom I have discussed and finally Sudhir came up with success.
Thanks.......
|
|
|
All times are GMT -5. The time now is 11:19 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|