View previous topic :: View next topic |
Author |
Message |
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Fri Jun 30, 2006 8:55 pm Post subject: Suchen & Ersetzen auf Konsolenebene [solved] |
|
|
Hallo,
ich habe für mein Notebook von meinem FLAC-Musikarchiv ein schlankeres Abbild im Ogg-Vorbis-Format erstellt. Soweit alles perfekt, nur steht in den Playlisten noch die Dateiendung der Stücke auf .flac. Da gibt es doch sicherlich eine Möglichkeit, diese automatisiert in .ogg abzuändern, oder? Irgendwie so eine Art Suchen & Ersetzen auf Konsolenebene, ohne jede einzelne Datei in einen Editor laden zu müssen.
Gruß,
Lenz. _________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~
Last edited by Lenz on Sat Jul 01, 2006 11:06 am; edited 1 time in total |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5205
|
Posted: Fri Jun 30, 2006 9:05 pm Post subject: |
|
|
das müsste recht einfach mit sed und konsorten gehen.
mit sed müsste das in etwa so aussehen:
Code: | sed "s/.flac/.ogg/g" <dateiname> > <tempdatei>
mv <tempdatei> <dateiname> |
_________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Fri Jun 30, 2006 9:10 pm Post subject: |
|
|
Hört sich gut an, nun müsste ich das nur noch so kombinieren, dass er aus /mnt/media/Audio alle .m3u Dateien sucht und diesen Befehl auf diese anwendet. _________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~ |
|
Back to top |
|
|
Fabiolla Apprentice
Joined: 04 Mar 2004 Posts: 277 Location: somewhere
|
Posted: Fri Jun 30, 2006 9:52 pm Post subject: |
|
|
Hallo,
könnte folgend funktionieren:
Code: |
for file in /mnt/media/Audio/*m3u; do sed -i -e 's/.flac/.ogg/g' $file; done
|
Mit den Parameter -i ersetzt sed direkt in der Datei -> es muss keine temporäre Datei angelegt werden.
Wenn es in /mnt/media/Audio noch Unterorder gibt könnte man auch eine Kombination mit find | xargs anwenden
lg |
|
Back to top |
|
|
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Fri Jun 30, 2006 10:09 pm Post subject: |
|
|
Ja, in /mnt/media/Audio/ gibt es noch viele Unterordner, Künstler und dann noch jeweilig die Alben. _________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~ |
|
Back to top |
|
|
Thargor Apprentice
Joined: 23 Dec 2005 Posts: 239 Location: Bamberg/Germany
|
Posted: Fri Jun 30, 2006 10:23 pm Post subject: |
|
|
und den punkt muss man meines wissens nach escapen, da der sonst für ein beliebiges Zeichen steht
(Korrigiert mich, wenn ich falsch liege)
Also
Code: | for file in /mnt/media/Audio/*m3u; do sed -i -e 's/\.flac/\.ogg/g' $file; done |
_________________ Ideas are bulletproof |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Sat Jul 01, 2006 6:38 am Post subject: |
|
|
so sollte das eigentlich gehen:
... gestrichen wg. 'Anforderungen gar nicht bis falsch verstanden' _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself
Last edited by think4urs11 on Sat Jul 01, 2006 6:58 am; edited 1 time in total |
|
Back to top |
|
|
Thargor Apprentice
Joined: 23 Dec 2005 Posts: 239 Location: Bamberg/Germany
|
Posted: Sat Jul 01, 2006 6:47 am Post subject: Re: Suchen & Ersetzen auf Konsolenebene |
|
|
Würde das nicht alle *.flac in *.ogg verschieben?
Lenz wrote: | ... nur steht in den Playlisten noch die Dateiendung der Stücke auf .flac. ... |
Gefragt war doch, die Dateinamen in den Playlists zu ändern? (Oder kapier ich dein script bloß nich ) _________________ Ideas are bulletproof |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Sat Jul 01, 2006 6:56 am Post subject: |
|
|
öh ja jetzt wo du das so sagst... man sollte eben so früh am morgen noch nicht das Gehirn hochfahren und die Anforderungen dann doch nur halb verstehen.
Hast natürlich recht - hab das schlicht völlig falsch verstanden
so richtig? (in files je .flac durch .ogg tauschen)
Code: | for i in `find /mnt/media/Audio/ -iname *.m3u | xargs`; do sed -ie 's/\.flac/\.ogg/' $i; done |
_________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Sat Jul 01, 2006 8:02 am Post subject: |
|
|
Das geht schon in die richtige Richtung, nur hat das leider noch Probleme mit Leerzeichen in Datei-/Ordnernamen. _________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~ |
|
Back to top |
|
|
Anarcho Advocate
Joined: 06 Jun 2004 Posts: 2970 Location: Germany
|
Posted: Sat Jul 01, 2006 8:35 am Post subject: |
|
|
Oh je...warum nicht direkt das richtige Tool nehmen:
Code: | * sys-apps/rename
Latest version available: 1.3
Latest version installed: 1.3
Size of downloaded files: 81 kB
Homepage: http://rename.berlios.de/
Description: tool for easily renaming files
License: GPL-2 |
Und dann mit dem beiligenden Tool renamexm einfach per Regulären ausdruck die Dateinamen ändern:
Code: | renamexm '-s/.flac/.ogg/' * |
mit
Code: | renamexm '-s/.flac/.ogg/' * -t |
kannst du nachschauen ob er auch die richtigen Änderungen machen würde. Falls noch Dateien in Unterverzeichnissen liegen: einfach -R noch hinzufügen. _________________ ...it's only Rock'n'Roll, but I like it! |
|
Back to top |
|
|
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Sat Jul 01, 2006 8:39 am Post subject: |
|
|
Weil es nicht um den Dateinamen geht, sondern um den Inhalt der Playlists! _________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~ |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Sat Jul 01, 2006 8:49 am Post subject: |
|
|
*g* Anarcho hat genausowenig ausgeschlafen wie ich
@Lenz: Versuch mal das $i durch "$i" auszutauschen _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Sat Jul 01, 2006 8:55 am Post subject: |
|
|
Das funktioniert leider nicht, wenn ich ein Album habe /Neil Young/Broken Arrow/ kommt das raus:
Code: | sed: kann Arrow/Neil nicht lesen: Datei oder Verzeichnis nicht gefunden
sed: kann Young nicht lesen: Datei oder Verzeichnis nicht gefunden
sed: kann - nicht lesen: Datei oder Verzeichnis nicht gefunden
sed: kann Broken nicht lesen: Datei oder Verzeichnis nicht gefunden
sed: kann Arrow nicht lesen: Datei oder Verzeichnis nicht gefunden |
_________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~ |
|
Back to top |
|
|
Anarcho Advocate
Joined: 06 Jun 2004 Posts: 2970 Location: Germany
|
Posted: Sat Jul 01, 2006 8:59 am Post subject: |
|
|
Think4UrS11 wrote: | *g* Anarcho hat genausowenig ausgeschlafen wie ich
@Lenz: Versuch mal das $i durch "$i" auszutauschen |
Shit. Hast recht.
Dann lass ich euch mal weiter mit sed rumbasteln... _________________ ...it's only Rock'n'Roll, but I like it! |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Sat Jul 01, 2006 9:22 am Post subject: |
|
|
nu aber (hoffentlich *g*)
Code: | for i in "$(find /mnt/media/Audio/ -iname *.m3u)"; do sed -ie 's/\.flac/\.ogg/' "$(echo $i)"; done |
_________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Sat Jul 01, 2006 9:51 am Post subject: |
|
|
LOL, wie nähern uns dem Ziel, jetzt hat er alle Dateinamen aneinandergereiht und als einen Dateinamen aufgefasst. Fehlermeldung:
Code: | Kann <10 Seiten langer Dateiname> nicht lesen: Der Dateiname ist zu lang |
_________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~ |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Sat Jul 01, 2006 10:13 am Post subject: |
|
|
Lenz wrote: | LOL, wie nähern uns dem Ziel, jetzt hat er alle Dateinamen aneinandergereiht und als einen Dateinamen aufgefasst. |
*hrmpf* jetzt nehm ichs bald persönlich
Code: | find /mnt/media/Audio/ -name *.m3u -exec sed -i 's/\.flac/\.ogg/' '{}' \; |
die for-Schleife sollte unnötig sein. _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Sat Jul 01, 2006 10:34 am Post subject: |
|
|
Ah, das hat funktioniert! Das nenn ich Automatisierung, da hätte ich mit dem Editor ja Tage dran gesessen. Der Befehl kommt sofort in meine Datei "Wichtige UNIX-Befehle". Sed muss ich mir mal genauer anschauen, ich hab noch mehr solche Sachen zu lösen. _________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~ |
|
Back to top |
|
|
mrsteven Veteran
Joined: 04 Jul 2003 Posts: 1938
|
|
Back to top |
|
|
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Sat Jul 01, 2006 10:42 am Post subject: |
|
|
Danke! _________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~ |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Sat Jul 01, 2006 10:43 am Post subject: |
|
|
Lenz wrote: | Ah, das hat funktioniert! Das nenn ich Automatisierung, da hätte ich mit dem Editor ja Tage dran gesessen. Der Befehl kommt sofort in meine Datei "Wichtige UNIX-Befehle". Sed muss ich mir mal genauer anschauen, ich hab noch mehr solche Sachen zu lösen. |
Sed ist vergleichsweise simpel, ich habe da eher so meine Problemchen mit dem richtigen quoten ala '`"$(\ etc.
und wenn du jetzt noch [solved] an den Titel hängst wär fein _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Lenz Veteran
Joined: 17 Jul 2003 Posts: 1439 Location: Marburg [HE, D, EU]
|
Posted: Sat Jul 01, 2006 11:07 am Post subject: |
|
|
Okay, und danke für die Bemühungen! _________________ .:: Lenz' Signature 1.7b ::.
| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~ |
|
Back to top |
|
|
|