Sziasztok, a következő a gondom : Van kb. 500 zenefájlom, amiket torrentről töltöttem le, közöttük sok olyan aminek a nevében ékezetes karakter volt és ezeket valamiért a ktorrent letöltéskor egy téglalap alakú karakterrel helyettesítette. Így most nem tudom őket lejátszani. Erre szeretnék valami szkriptet, hogy végigmegy az összes fájlon és kitörli belőle ezeket a karaktereket, a fél napom ráment de nem jött össze... Valaki tudna esetleg segíteni? Esetleg azt is meg tudnátok mondani hogy hogy lehet ezt kiküszöbölni, hogy ne így töltse le legközelebb?
Szerk.: ezek a téglalap alakú karakterek krusaderben jelennek meg, ls parancs hatására az ékezetes betűk helyett kérdőjelek vannak.
- 1040 megtekintés
Hozzászólások
Nálad mitől van azt nem tudom, de mikor először tettem fel ubuntu-t az angol nyelvel és magyar bill-t állítottam be, akkor mással de hasonló/ugyanez a probléma merült fel. Magyarra cserélve már nem volt az ékezettel gond. De maradt még elég megoldatlan dolog amit nem tudok. Főleg, hogy 2 hete vagyon egy Ubuntu büszke tulajdonosa/használója :))
- A hozzászóláshoz be kell jelentkezni
Próbáld ezt!
- A hozzászóláshoz be kell jelentkezni
Milyen karakterek vannak benne? Minden ékezetest ugyanazzal a téglalappal helyettesítette (ekkor tr-rel vagy sed-del egyszerű kiszedni), vagy valamilyen más kódolás szerinti ékezetesekkel (ekkor karakterkódolást kell megváltoztatni)? (ls kimenetét nézd meg hexaeditorral.)
- A hozzászóláshoz be kell jelentkezni
Igen, minden ékezetes helyére ugyanazt a téglalap alakú karaktert helyettesíti. Nem tudom ide beszúrni mert itt az oldalon csak 1 kérdőjel jelenik meg.
-----------------------------------------------------------------------------------------------------------------------------
AMD Athlon 64 X2 Dual Core 6000+, Nvidia Geforce 8500GT 512Mb, 2GB DDR2-800Mhz, MSI K9 Neo v3, Debian "lenny",2.6.24-amd64
- A hozzászóláshoz be kell jelentkezni
Mint lejjebb írtad, tulajdonképpen megmaradtak az ékezetes karakterek, tehát azok különböző karakterek voltak, csak a grafikus felület ugyanúgy jelenítette meg őket. De mindegy, lejjebb már megoldották.
- A hozzászóláshoz be kell jelentkezni
Milyen eredményt ad a következő parancs:
ls | iconv -f latin2 -t utf8
Ha jól írja ki a fájlneveket, akkor szólj, és összedobunk egy scriptet, ami jóra átnevezi a fájlaidat.
- A hozzászóláshoz be kell jelentkezni
Ez jól kiírja a filenveket igen. Akkor meg tudnád írni azt a szkriptet? Előre is köszi!
-----------------------------------------------------------------------------------------------------------------------------
AMD Athlon 64 X2 Dual Core 6000+, Nvidia Geforce 8500GT 512Mb, 2GB DDR2-800Mhz, MSI K9 Neo v3, Debian "lenny",2.6.24-amd64
- A hozzászóláshoz be kell jelentkezni
Gyakorlatilag hasonló cipőben járok. Most csináltam meg magamnak is.
Először is: a könyvtárnevek ne tartalmazzanak ékezetet!!! Sorry, lehet, hogy túl nagy kérés. (Szerintem gyorsan rá lehet jönni, hogy ez hol okozna problémát.) Hátha az utánam postolók ki tudják ezt javítani.
A zene mappádból add ki a következő parancsot:
{ find | while read ; do echo mv \"$REPLY\" \"`echo "$REPLY" | iconv -f latin2 -t utf8`\" ; done; } > rename.sh
Eddig nem csináltunk semmit. Ezután szerintem nézd át a rename.sh-t, hátha valahol eredetileg is jó volt az ékezet, mert akkor ez csak elrontja. A szerkesztésére semmiképp sem ajánlok vi-t, mert képes és nem utf8-ban jeleníti meg a fájlt (túl intelligens), használj mcedit-et. Az a jó, ha minden sorban azt látod, hogy az első név krixkrax, a második pedig jó. Ahol fordítva lenne, azon sorokat töröld ki.
Ezután még mindig a zene mappádban add ki a következőt:
sh rename.sh
Panaszkodni fog, ha egy fájlnévben nincs ékezet, mivel akkor ugyanarra kellene átnevezni. Ez nem gond.
- A hozzászóláshoz be kell jelentkezni
Szuper, ez működik, nagyon köszönöm :)
-----------------------------------------------------------------------------------------------------------------------------
AMD Athlon 64 X2 Dual Core 6000+, Nvidia Geforce 8500GT 512Mb, 2GB DDR2-800Mhz, MSI K9 Neo v3, Debian "lenny",2.6.24-amd64
- A hozzászóláshoz be kell jelentkezni
Szívesen. Időközben megnéztem a lentebb brekeke által ajánlott utf8-migration-tool-t. Elég könnyen használható dolognak tűnik, és mindent megcsinál. Installálás után Applications, Rendszereszközökhöz települ, és pár Next-et kell csak nyomni, és a home könyvtáradban mindent átnevez jóra.
- A hozzászóláshoz be kell jelentkezni
Viszont - szerintem - érdemes lenne a te szkriptedből is egy nautilus szkriptet gyártani. Vagy ha KDE akkor.. Nem tudom milyen szkriptelési lehetőségek vannak Konquerorban/Dolphinban.
--
the tide is turning
- A hozzászóláshoz be kell jelentkezni
A szerzői jogokat továbbadom :) Ugyanis 2 nap múlva államvizsgázok...
A könyvtárakat lehetne ügyesen átnevezni, lennének hozzá ötleteim. De majd jövőhéten.
- A hozzászóláshoz be kell jelentkezni
Egy nagy kalappal!
Utána kéne csinálni egy kategorizált szkriptgyűjteményt... :)
--
the tide is turning
- A hozzászóláshoz be kell jelentkezni
Köszi. Nem vagyok semmi rossznak az elrontója. Egyébként lehetne pl. egy hup-os wiki oldal, ahol gyűjtenénk az ügyes scripteket, és a megoldandó problémákat. Ilyen scriptekre gondoltam.
- A hozzászóláshoz be kell jelentkezni
Ez jó ötlet, jó lenne egy ilyen hupwiki oldal, én úgyis hülye vagyok az ilyen szkriptekhez...
-----------------------------------------------------------------------------------------------------------------------------
AMD Athlon 64 X2 Dual Core 6000+, Nvidia Geforce 8500GT 512Mb, 2GB DDR2-800Mhz, MSI K9 Neo v3, Debian "lenny",2.6.24-amd64
- A hozzászóláshoz be kell jelentkezni
find . -type f -exec sh -c 'mv $1 `echo $1 | iconv -f latin2 -t utf8`' {} {} \;
- A hozzászóláshoz be kell jelentkezni
convmv
- A hozzászóláshoz be kell jelentkezni
Nem tudja valaki, hogy a sed regexp-eknél milyen sorrendben veszi a karaktereket intervallumoknál ([a-z])? Ha karakterkód szerint menne, akkor lenne szkriptem, de úgy tűnik, az ékezetesek benne vannak az [a-z]-ben, érdekes módon még akkor is, ha en_US-ra állítom a locale-t.
- A hozzászóláshoz be kell jelentkezni
Debianra/Ubuntura létezik egy ilyen csomag:
utf8-migration-tool
This wizard upgrades legacy system locales to their UTF-8
equivalent. It also informs users whenever files in their
home directory still utilize legacy encodings.
--
the tide is turning
- A hozzászóláshoz be kell jelentkezni
Eszembe se jutott keresni a synapticban :/
-----------------------------------------------------------------------------------------------------------------------------
AMD Athlon 64 X2 Dual Core 6000+, Nvidia Geforce 8500GT 512Mb, 2GB DDR2-800Mhz, MSI K9 Neo v3, Debian "lenny",2.6.24-amd64
- A hozzászóláshoz be kell jelentkezni