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.
|
|
12-20-2007, 05:44 PM
|
#1
|
LQ Newbie
Registered: Apr 2007
Posts: 3
Rep:
|
Need help in renameing files in terminal
Hi,
I have a collection of mp3 files that I would like to rename. I want to simply add a prefis to my files such as;
hotel california.mp3 >>>>> eagles-hotel california.mp3
Do you knoe the rename command and its options to do this in the terminal?
Thanks,
FG
|
|
|
12-20-2007, 05:49 PM
|
#2
|
Senior Member
Registered: Oct 2005
Location: UK
Distribution: Slackware
Posts: 1,847
Rep:
|
Code:
mv hotel\ california.mp3 eagles-hotel\ california.mp3
You need to escape the spaces with a backslash. Otherwise, you could do this:
Code:
mv "hotel california.mp3" "eagles-hotel california.mp3"
|
|
|
12-20-2007, 05:51 PM
|
#3
|
LQ Newbie
Registered: Apr 2007
Posts: 3
Original Poster
Rep:
|
How do i do this to multiple files at once.
Do I simply do:
mv *.mp3 eagles-*.mp3
Thanks,
FG
|
|
|
12-20-2007, 06:14 PM
|
#4
|
Senior Member
Registered: Dec 2005
Location: Florida
Distribution: CentOS/Fedora/Pop!_OS
Posts: 2,983
|
there is a way, but i forget it has to do with building a string $ and changing things.
|
|
|
12-20-2007, 06:18 PM
|
#5
|
Senior Member
Registered: Dec 2005
Location: Brisbane, Australia
Distribution: Slackware64 14.0
Posts: 4,141
Rep:
|
Do you have the rename command in your distro? From the man page:
Code:
rename will rename the specified files by replacing the first
occurrence of from in their name by to.
For example, given the files foo1, ..., foo9, foo10, ..., foo278, the commands
rename foo foo0 foo?
rename foo foo0 foo??
will turn them into foo001, ..., foo009, foo010, ..., foo278.
And
rename .htm .html *.htm
will fix the extension of your html files.
|
|
|
12-20-2007, 06:24 PM
|
#6
|
LQ Guru
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,415
|
FYI, most Unix tools don't like spaces in filenames, so you have to either explicitly escape them or use quotes as mentioned above.
In short, don't put spaces in filenames if you can avoid it.
|
|
|
12-20-2007, 09:16 PM
|
#7
|
Member
Registered: Oct 2005
Location: 127.0.0.1
Distribution: Manjaro
Posts: 963
Rep:
|
Quote:
Originally Posted by bookman761
How do i do this to multiple files at once.
Do I simply do:
mv *.mp3 eagles-*.mp3
Thanks,
FG
|
should work.
though the spaces may cause problems
|
|
|
12-21-2007, 01:35 AM
|
#8
|
Senior Member
Registered: Dec 2005
Location: Brisbane, Australia
Distribution: Slackware64 14.0
Posts: 4,141
Rep:
|
Quote:
Originally Posted by dasy2k1
Code:
mv *.mp3 eagles-*.mp3
should work.
though the spaces may cause problems
|
No, that doesn't work here. The shell tried to expand each '*' before passing it to the mv command. The eagles-*.mp3 couldn't be expanded, was passed to mv as the destination directory and caused an error of:
Code:
mv: target `eagles-*.mp3' is not a directory
Last edited by gilead; 12-21-2007 at 01:37 AM.
|
|
|
12-21-2007, 06:01 AM
|
#9
|
Senior Member
Registered: Oct 2005
Location: UK
Distribution: Slackware
Posts: 1,847
Rep:
|
Quote:
Originally Posted by bookman761
How do i do this to multiple files at once.
Do I simply do:
mv *.mp3 eagles-*.mp3
Thanks,
FG
|
This should do it:
Code:
for i in *.mp3; do mv "$i" eagles-"$i"; done
Last edited by pwc101; 12-21-2007 at 06:02 AM.
|
|
|
All times are GMT -5. The time now is 07:49 AM.
|
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
|
|