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.
|
 |
02-23-2005, 08:46 AM
|
#1
|
Member
Registered: Feb 2005
Distribution: Ubuntu 8.04
Posts: 100
Rep:
|
Using grep, etc to modify a text file
OK, heres the situation. I have my mp3s on an ntfs (read only) drive. I copied the m3u playlist to my linux drive so I can edit it. Aside from replacing all '\' with '/' I need to now point the files in the playlist to the directory on the ntfs drive (as the mp3s are no longer local)
E.g. A line that says "Natalie Imbruglia - Torn (MTV's Live And Loud).mp3" has to be changed to "/mnt/windows/shared/music/mp3/Natalie Imbruglia - Torn (MTV's Live And Loud).mp3".
There are lines beginning with a '#' that I need to ignore (alternate lines with # and file name).
I managed to get all lines from the file that dont begin with '#' by using grep -v '#' best7_linux.m3u. But now I'm stuck... how do I add /mnt/windows..etc to the front of each line then put that back into the file (or into a new one)?
I really dont want to have to create a new playlist, since the songs I listen to are a fraction of what I have in my mp3 directory... I dont want to add them all and have to sift through 1000's deleting ones I dont want to listen to.
I'm pretty sure you can do this through linux shell, or at least through a script. If anyone can post the commands or a link to a decent tutorial that would be brilliant.
Cheers.
|
|
|
02-23-2005, 08:56 AM
|
#2
|
Member
Registered: Sep 2004
Distribution: Gentoo
Posts: 134
Rep:
|
http://archive.ncsa.uiuc.edu/General...ing/PerlIntro/
Perl is the best tool for the job, in case you didn't know it's a scripting language well suited for text processing.
Cheers, and good luck!
|
|
|
02-23-2005, 08:57 AM
|
#3
|
LQ Newbie
Registered: Jan 2005
Posts: 8
Rep:
|
Got AWK?
man awk
If that does not help get an awk book.
|
|
|
02-23-2005, 09:58 AM
|
#4
|
Member
Registered: Jul 2003
Location: Clinging to my guns and religion.
Posts: 683
Rep:
|
So if I got this right you want to change:
Natalie Imbruglia - Torn (MTV's Live And Loud).mp3
TO:
/mnt/windows/shared/music/mp3/Natalie Imbruglia - Torn (MTV's Live And Loud).mp3
You could do this with sed doing something like:
sed 's/^/\/mnt\/windows\/shared\/music\/mp3\//g' mp3_list
(mp3_list is the name of the file where I saved the list)
|
|
|
02-23-2005, 01:10 PM
|
#5
|
Member
Registered: Jan 2004
Location: Portsmouth, NH
Distribution: FC3, FC4
Posts: 45
Rep:
|
i'd use find and replace
IF all the files are in the same folder I would find and replace
first I would find and replace " with "/mnt/windows/shared/music/mp3/
and then I would find and replace .mp3"/mnt/windows/shared/music/mp3/ with .mp3"
hope this helps
|
|
|
02-23-2005, 01:33 PM
|
#6
|
Member
Registered: Feb 2005
Distribution: Ubuntu 8.04
Posts: 100
Original Poster
Rep:
|
Wow, cheers for all the replies on this one.
In the end I downloaded java and wrote my own little program to do it... stick to what you know, eh. I am right now looking through those commands though, will be useful for future reference. Cheers again.
|
|
|
02-23-2005, 02:02 PM
|
#7
|
LQ Newbie
Registered: Feb 2005
Posts: 4
Rep:
|
awk, grep (and many forms of grep) and sed are all great text editing tools
personaly i find grep and awk the most useful, sed is out ther in my books :s
|
|
|
02-23-2005, 02:49 PM
|
#8
|
Member
Registered: Jul 2003
Location: Clinging to my guns and religion.
Posts: 683
Rep:
|
Quote:
Originally posted by iGoo
awk, grep (and many forms of grep) and sed are all great text editing tools
personaly i find grep and awk the most useful, sed is out ther in my books :s
|
I got used to sed and grep and awk is one of those I have to think about and check my notes on. 
|
|
|
All times are GMT -5. The time now is 09:46 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
|
|