Problem: automatisch Playlist generieren

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

xelarep

Benutzer
Registriert
17. Dez. 2008
Beiträge
335
Reaktionspunkte
21
Punkte
18
Hallo,

als Gelegenheits Linux Script Schreiber hab ich heute gedacht ich mach mal schnell was, um meine gekauften MP3s automatisch in ne Playlist zu hämmern:
Rich (BBCode):
#!/bin/sh
#
echo Update Amazon Playlist
cd "/volume1/music/playlists"
echo "#EXTM3U" >!Amazon.m3u
find "../Amazon MP3" -name *.mp3 -type f -print >>!Amazon.m3u

Prinzipiell passt das, jetzt schlägt aber ein altes Unix/Dos Problem zu: Anscheinend erwartet die Audiostation LF+CR am Zeilenende, das Script generiert aber (natürlich) nur CR?!

Die Playlist funktioniert nur, wenn ich mit einem externen Programm auf meinem PC die Zeilenendezeichen ersetze. Bevor Nachfagen kommen: ich hab die Ausgabedatei per chmod + chown auch so modifiziert, dass die Audiostation diese lesen und verarbeiten kann. Wie gesagt: es funktioniert alles erst nach Austausch des Zeilenendes.

Wie kann ich einfach mein Script erweitern, ohne jetzt den grossen Hammer zu benutzen (gcc installieren und das ganze selbst machen...)?

Normalerweise gibt's sowas doch bestimmt fertig (unix2dos o.ä.)?

Ich stehe gerade auf der Leitung... :confused:

Alexander
 
Hallo,
sed -i 's/$/\r/' DATEI

Gruß Götz
 
sed -i 's/$/\r/' DATEI

Sehr schön, an sowas hatte ich gedacht, Danke!
Leider funktioniert es auf der DS nicht?! '\r' wird bei mir nicht als CR eingesetzt sondern als 'r' :eek:

Ich hab jetzt schon andere Sauereien probiert (\013 bzw. \015 im pattern) ebenso erfolglos.

Seltsam :confused:
 
Hallo,
Du hast recht, Firmware sed reagiert so. Ich habe einen IPKG sed benutzt und der funktioniert so wie beschrieben.
ipkg install optware-devel
bringt einen vollwertigen sed mit.

Gruß Götz
 
Schade - zu spät :cool:

Ohne deine letzte Massnahme geht's auch so:
Rich (BBCode):
#!/bin/sh
#
echo Update Amazon Playlist
cd "/volume1/music/playlists"
echo "#EXTM3U" >!Amazon.m3u
find "../Amazon MP3" -name *.mp3 -type f -print >>!Amazon.m3u
sed -i "s/$/`echo -e \\\r`/" !Amazon.m3u
chmod 777 !Amazon.m3u
chown :users !Amazon.m3u

Hab gerade noch ein bisschen rumgegoogelt und bin bei http://sed.sourceforge.net/sed1line_de.html auf die unterschiedlichen Notationen/Syntax/RegEx's bei den unterschiedlichen shells gestossen.

Bescheid!

Alexander
 
Hallo,

# IN EINER UNIX UMGEBUNG: Wandle Unix Zeilenvorschübe (LF) in das DOS-Format.
sed "s/$/`echo -e \\\r`/" # ksh
sed 's/$'"/`echo \\\r`/" # bash
sed "s/$/`echo \\\r`/" # zsh
sed 's/$/\r/' # gsed 3.02.80 oder neuere Versionen
wieder was gelernt. Danke.

Gruß Götz
 
Genau den Absatz hab ich gemeint :D
Nochmal Danke für den richtigen Zaunpfahl für die grobe Marschrichtung!

Alexander
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat