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.
- 2039 megtekintés
Hozzászólások
krename
- A hozzászóláshoz be kell jelentkezni
A baj az, hogy nekem konsolos megoldás kellene.
Az átkódolást egy szerveren kellene elvégeznem.
- A hozzászóláshoz be kell jelentkezni
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... .
- A hozzászóláshoz be kell jelentkezni
$ find . -type f > list # vagy akarhogy is csinalhatsz listat a fileokrol
$ cat list | while read file ; do mv "$file" "`echo $file | tr [áéíóőöüúűAEIÓÖŐÜÚŰ] [aeiooouuuAEIOOOUUU]`"; done
- A hozzászóláshoz be kell jelentkezni
ez a tr nemrossz :)
De miért íratod ki egy külön fájlba a find kimenetét, ha utána cat-tal pipeolod a ciklusba?
Nem lenne egyszerűbb find -blabla|while ...?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
í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...
- A hozzászóláshoz be kell jelentkezni
Köszönöm. Úgy tünik, hogy első nekifutásra müködik.
Az volna még a kérésem, hogy alkönyvtárakat is át kellene nevezni
ékezetesről nem ékezetesre. Ha ehez is kaphatnék segítséget, meköszönném.
- A hozzászóláshoz be kell jelentkezni
Segítség kellene még ahhoz is, hogy rengeteg ékezetes alkönyvtárakat át lehessen nevezni a fentiekben leírt modon. Köszönöm előre is.
- A hozzászóláshoz be kell jelentkezni
-type f helyett -type d
--
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!
- A hozzászóláshoz be kell jelentkezni
Kipróbáltam. Sajnos nem müködik a -type d.
- A hozzászóláshoz be kell jelentkezni
Valószínűleg mert az mv így viselkedik:
mv könyvtáram/ konyvtaram/
A második paraméter végén lévő / jel bezavar, mert így nem lehet átnevezni.
--
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!
- A hozzászóláshoz be kell jelentkezni
A convmv a barátod !
- A hozzászóláshoz be kell jelentkezni
Ezzel legfeljebb más kódolásba tudja alakítani, az ékezet nem tűnik el!
- A hozzászóláshoz be kell jelentkezni
detox kell neked.
- A hozzászóláshoz be kell jelentkezni
Támogatom. :)
- A hozzászóláshoz be kell jelentkezni