Sziasztok!
Szertnék tömegesen átkonvertálni fájlneveket UTF8-ról ISO8859-2-re. convmv jól dolgozik, de van egy kis gondom vele. Sajnos nagyon sok mappáról van szó és vegyesen vannak bennük UTF8-as és ISO8859-2-es fájlnevek.
Következő módon próbálkozok:
convmv --notest -f utf8 -t latin2 -r /elérési/út
A gondom az, hogy ha latin2-es kódolású fájlt talál akkor hibát dob, hogy nem tudja konvertálni, és leáll a konvertálás. Szeretném ha ezeket a fájlokat egyszerűen átugraná, hogy ne kelljen egyesével végigmatatnom a már latin2-es kódolású fájlokat.
A másik probléma, hogy bizonyos esetekben olyan hibát dob, hogy nem tudja az összes karaktert átkódolni latin2-esre. Ilyenkor is leáll.
Azt szeretném elérni, hogy ilyen esetekben (amikor hiba van) ne álljon le a konvertálás, hanem fusson le csak hagyja ki ezeket a fájlokat. Sajnos nem sikerült ilyen opciót találnom.
- 2448 megtekintés
Hozzászólások
Eyg tipp: próbáld meg először fordítva, latin2-ről utf8-ra konvertálni. Ilyenkor a convmv észreveszi és átugorja azokat a fájlokat, amik már utf8 kódolásúak. Ezután már minden fájlneved utf8 lesz, amit vissza tudsz kódolni latin2-be.
- A hozzászóláshoz be kell jelentkezni
Kipróbáltam, de de amikor vissza akarom konvertálni utf8-ból latin2-re akkor ezt dobja és szintén leáll:
iso-8859-2 doesn't cover all needed characters
- A hozzászóláshoz be kell jelentkezni
Ha olyan karakterek is vannak a fájlnévben, amik nincsenek a latin2-ben, akkor persze. Ha a find paranccsal minden fájlra külön meghívod a convmv-t, akkor kihagyhatod az ilyen fájlokat:
find /elérési/út -type f -exec convmv --notest -f utf8 -t latin2 {} \;
De ennek meg nem sok értelmét látom, mert akkor megint vegyesen lesznek latin2 és utf8 fájlneveid.
- A hozzászóláshoz be kell jelentkezni
Köszönet a tippekért. Végülis ez az odavisszakonvertálgatás úgy néz ki megoldja a dolgot, csak néhány fájl esetében kell kézzel bajlódni, de ez még belefér.
Köszönet
- A hozzászóláshoz be kell jelentkezni
Még egy tipp: Ha a file
parancs felismeri, hogy milyen kódolású a fájl (vagy legalábbis utal rá, hogy utf vagy vmilyen iso8859), akkor eez alapján tudod csak a neked kellőket konvertáltatni....
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
Nem akartam uj topikot nyitni. Convmv-t meglehet valahogy fuzni, hogy a konyvtarak nevet is atkonvertalja, ne csak a file-oket?
Vagy van valami mas tool erre?
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Engem is erdekelne epp, leiras szerint konyvtarneveket is konvertalja, de se 1.12-es se 1.14-es verzioval meg se probalta nalam es opciot se talaltam ra amivel bekapcsolhato lenne.
--
Don't Panic if you see me laughing,
that's not a bug, just a feature.
- A hozzászóláshoz be kell jelentkezni
A convmv egyszeru mv parancsot hajt vegre a vegen, szoval ehhez a --notest opcion kivul nem kell semmi - legalabbis nalam. Jo lenne tudni, mit dobott vissza.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Teszt-ben is csak annyi latszodott h meg se nezte a konyvtarakat, csak a file-okkal foglalkozott.
--
Don't Panic if you see me laughing,
that's not a bug, just a feature.
- A hozzászóláshoz be kell jelentkezni
Hat nem tudom, nalam ez igy menik:
convmv --notest -f latin2 -t utf8 *
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
find kimenetére rá kell tolni a convmv-t, onnantól mindent lehet.
Csak - ha pl. shellváltozóval hivatkozunk a fájlnévre - akkor figyelni, hogy mindig idézőjelezve legyen, pl. "$fn", különben a szóközök szétszedik a paramétert. :)
- A hozzászóláshoz be kell jelentkezni
Kozben sikerult find-dal megcsinalni, bar bevallom picit ideges voltam, hogy hat ez a program elmeletileg konyvtarakkal is foglalkozik aztan csak akkor hogyha azt kapja paramternek normalisan. Koszi a tippet.
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Tud recursive keresest, akkor nehogymar meg kulon megkerestessem find-al elotte, mikor ez is azt csinalja.
Ahogy nezem perl script, arra mar rajottem mikor scan-eli a helyet akkor felismeri ha konyvtar van ott, csak utanna nem foglalkozik vele...
--
Don't Panic if you see me laughing,
that's not a bug, just a feature.
- A hozzászóláshoz be kell jelentkezni
Emiatt kell find -type d -vel keresni, es akkor a konyvtarneveketa attudod neki adni direktben jol.
Nem tudom amugy miert nem foglalkozik vele.
-------------------------------
“The 0 in Raid 0 stands for how many files you’re going to get back if something goes wrong” :)
- A hozzászóláshoz be kell jelentkezni
Jogos.
- A hozzászóláshoz be kell jelentkezni