shell sonderzeichen maskieren
Posted: 2008-08-18 20:00
Hallo Group,
ich habe ein kleines Problem mit id3v2 und Sonderzeichen.
folgende Syntax schreibt einen Artist-Name in die mp3:
id3v2 -a "artistname" test.mp3
wenn nun im artistname zeichen wie: ` ! " enthalten sind gibt es natürlich einen error ... diese Zeichen kann ich nun mit einem Backslash maskieren.
Im id3tag sind die backslashes dann auch nicht zu sehen ... bis auf: ! .. bei Backslash-Ausrufezeichen stehen beide zeichen im id3tag.
Ein Ausrufezeichen muss aber maskiert werden weil ich sonst einen Fehler bekomme.
Nun meine Frage: gibt es einen shell befehl ala addslashes oder ähnliches --- in der shell müssen ja andere zeichen als bei php maskiert werden.
Mein Shell-Script baue ich mit PHP zusammen und führe es später aus ... ich könnte nun im PHP alles "böse" mit str_replace ersetzen .. dann bleibt aber noch das ausrufezeichen welches die shell in meinem Fall falsch interpretiert.
andersherum bei: id3v2 -a 'artistname' test.mp3 (einfaches hochkomma) welches vielleicht die elegantere Lösung ist, kann ich ein einfaches hochkomme nicht mit backslash maskieren ... sonst frisst diese syntax alle sonderzeichen --- wie maskiert man hier ein hochkomma im artistname?
vielleicht ist die Lösung einfach ... pls help
mike
ich habe ein kleines Problem mit id3v2 und Sonderzeichen.
folgende Syntax schreibt einen Artist-Name in die mp3:
id3v2 -a "artistname" test.mp3
wenn nun im artistname zeichen wie: ` ! " enthalten sind gibt es natürlich einen error ... diese Zeichen kann ich nun mit einem Backslash maskieren.
Im id3tag sind die backslashes dann auch nicht zu sehen ... bis auf: ! .. bei Backslash-Ausrufezeichen stehen beide zeichen im id3tag.
Ein Ausrufezeichen muss aber maskiert werden weil ich sonst einen Fehler bekomme.
Nun meine Frage: gibt es einen shell befehl ala addslashes oder ähnliches --- in der shell müssen ja andere zeichen als bei php maskiert werden.
Mein Shell-Script baue ich mit PHP zusammen und führe es später aus ... ich könnte nun im PHP alles "böse" mit str_replace ersetzen .. dann bleibt aber noch das ausrufezeichen welches die shell in meinem Fall falsch interpretiert.
andersherum bei: id3v2 -a 'artistname' test.mp3 (einfaches hochkomma) welches vielleicht die elegantere Lösung ist, kann ich ein einfaches hochkomme nicht mit backslash maskieren ... sonst frisst diese syntax alle sonderzeichen --- wie maskiert man hier ein hochkomma im artistname?
vielleicht ist die Lösung einfach ... pls help
mike