MP3 (~600) meta tag ékezetes karakterek eltávolitása

Fórumok

Sziasztok,

Egy shoutcast szerverrel (sc_serv) és a hozzá tartozó transcoderrel (sc_trans) közdük.

A gondom az, hogy a trans (igazából a serv) elszáll a következő hibaüzenettel:

terminate called after throwing an instance of 'std::runtime_error'
what(): XML parser error: not well-formed (invalid token) at line 11
Aborted (core dumped)

Googlezásom arra vezetett, hogy ezt a speciális karakterek okozzák a fájlnevekben. Nekem van ~600 mp fájlom, amiknek a nevét "ékezet mentesiteni" kellene. Van erre egyszerű megoldás?

Előre is köszönöm, bár tudom, hogy ez nem emeli a szakmai szinvonalat.

update:

apt-get install eyed3
eyed3 --remove-all path/to/files/*.mp3

Ez megoldotta. THX

Hozzászólások

Egy, a lehetséges hetvenkilenc megoldásból:

#!/bin/bash
ls -1 | while read L
 do
  echo mv "$L" "$(echo $L |tr -c "a-zA-Z0-9.-_"\\n _)"
done

Vagy google: "linux remove non ascii file name"

Update: gyorsan még beleírtam a \\n-t is :D


#!/usr/bin/python
import unicodedata,re,os,sys
reCombining = re.compile(u'[\u0300-\u036f\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]',re.U)
for root, dirs, files in os.walk(sys.argv[1]):
    for f in files:
        os.rename(root+'/'+f,root+'/'+reCombining.sub('',unicodedata.normalize('NFD',unicode(f.decode('utf8')))).encode('ascii'))