Karakter átkonvertálás

Van egy olyan problémám, hogy nagy mennyiségű magyar ékezeteket tartalmazó filenevet kellene átnevezni nem ékezetes filenevekre.
Ha valaki tudna ebben segíteni egy scripttel azt köszönettel venném.

Hozzászólások

Hali!

Elég gyenge megoldás, de itt van: 213.178.100.168/ekezetmentesit/ . A két futtatható file kell onnan. Az ekezetmentesit.sh- t kell elindítani az átnevezendő filenevek paraméterként történő megadásával, pl. *. Az sh- ban állítsd be az ekezetmentesit elérési útját, ha nem abban a könyvtárban van, ahonnan hívod... .

ha példáula az összes "árvíztűrő tükörfúrógép" kezdetű file-t meg akarja hagyni eredeti névvel, akkor a listából törölheti az ilyen sorokat kézzel, vagy eleve máshogy is csinálhat file listát. csak ezért; ha jó a find kimenete, akkor perszehogy pipe.

a sed is jó, de ilyet is lehet, hogy sed 'y/xyz/XYZ/'; nem substitute, hanem transliterate.

így csuklóból (lehet hogy naon lamer):

find . -type f|while read file;do mv "$file" "`echo $file|sed -e 's/á/a/g'|sed -e 's/é/e/g'|sed -e 's/ő/o/g'|sed -e 's/ú/u/g'|sed -e 's/í/i/g'|sed -e 's/ö/o/g'|sed -e 's/ü/u/g'|sed -e 's/ó/o/g'|sed -e 's/ű/u/g'`";done

Azért előtte próbáld ki nem élesben...