Fórumok
Helló
Tudnátok segíteni, milyen módon tudok sok magyar ékezetes fájlnevet és mappa nevet átnevezni ékezet mentesre? A szóközt alsó vonalra, a ... -ot semmire, satöbbi.
A legjobb lenne valami program vagy shell script, ami ezt végrehajtaná.
Ha ékezetes mappában van az ékezetes fájl, akkor vagy a fájlok után kellene a mappát átnevezni, vagy kétszer lefuttatni ezt.
Futtatnám egy adott mappában amiben vannak az ékezetes fájlok és mappák egymás alatt. Ubuntu Linuxon.
Köszi a javaslatokat.
Hozzászólások
Szia!
Shell szkriptekkel:
Mappa átnevezéshez
Fájl átnevezéshez
Hogy ez mennyivel egyszerűbb, mint POSIX "equivalence class"-okkal bajlódni. (`[=o=] ~ o ó ö ő` stb.) *arctenyér* :D
Nemrég hasonló problémám volt. Nem tudom, máshol is lehet-e ilyen egyszerűen, de C#-ban ennyi az egész:
Minden ékezetet, speciális karaktert, szóközt, és az utolsó kivételével pontot töröl (és mivel Windows környezetben kellett, mindent kisbetűsre is cserél).
Működése: ./dodir [mappa útvonal]
Megjegyzés: Ebben a mappában és almappáiban történik a mappák átnevezése
Működése: ./dofile [mappa útvonal]
Megjegyzés: Ebben a mappában és almappáiban történik a fájlok átnevezés
Nagyon köszönöm, ki is próbálom!
Én erre a detoxot használom. Ezt rekurzíve lefuttatod osztjóvan.
http://detox.sourceforge.net/
10-féle lény van:
-- aki ismeri a bináris számrendszert,
-- és amelyik nem.
Ez is nagyon jónak tűnik, nem hallottam erről.
http://sign-el-soft.hu/cgi/ng-xim.html#filecopy
Kipróbálom ezt is, megírom majd, melyik lett a legjobb.
Az ékezetmentesítésnél probléma szokott lenni, hogy több különböző fájlnévből ugyan az az átkódolt név keletkezik, és így felülírhatják a korábbit. pl.:
fájlnév.jpg (utf-8) -> fajlnev.jpg
fájlnév.jpg (iso8859-2) -> fajlnev.jpg
fajlnev.jpg (ékezetmentes) -> fajlnev.jpg
A makró lehet pl.: %f%e%k(áé,ae)%r( ,_)%r(...,)
Ha a http://sign-el-soft.hu/cgi/ng-xim.html#filecopy megoldást használod, akkor az rákérdez az első ütközésnél. Ha ekkor azt választod, hogy kihagyja mindet, akkor a végén azok maradnak kijelölve, amik kimaradtak.
Módosítani kell a makrót pl.:%f-v1%e%k(áé,ae)%r( ,_)%r(...,) és újra indítani.
erre miért is nem jó egy find -exec?
De amúgy itt egy ugyanilyen topic: https://hup.hu/node/76029
A detox bevált, köszi bzs, viszont egy dolgot nem tesz meg: ha a mappa neve pontra ( . ) végződik "Hello_-Ez_van.", akkor azt nem veszi figyelembe, és gond, ha úgy végződik, mert NTFS esetén nem tudom a mappát átmozgatni, stb.
Milyen módon tudnám a mappák neve végéről a pontot eltávolítani biztonságosan, rekurzívan?
Már kaptál rá választ: dodir szkript