tr: Illegal byte sequence [megoldva]

Szisztok!

Van tobb szaz allomany telis-tele ilyen: à, es ehhez hasonlo karakterekkel.
tr 'à' 'a' <be.fore >af.ter
af.ter letrejon csakhogy 'à' betu elott megakad es jon a hibauzi:
tr: Illegal byte sequence
Azert se ertem,h miert, mert ha letrehozok 1 jaj.txt allomanyt es irok bele 1 'à' karktert, csodalatosan mukodik.

Ha barkinek van otlete, kerem segitsen.

Hozzászólások

Karakterkódolás? Fogadjunk, UTF-8. A tr sajnos nem támogatja. Használd helyette például a sed y parancsát.

ehelyett:
tr áéí aei

írd ezt:
sed y/áéí/aei/

illetve ha csak egyetlen karaktert cserélsz, akkor az ismertebb sed s/à/a/g is jó.

sajnos igy se csereli ki. azert koszi, h segitesz.
'à' helyett kerdojelet mutat sed, tr, cat is. TextEdit ‡, TextMate à.
hogy tudom visszaallitani az eredeti beallitast?

Az allomanyokkal lehet valami bibi, mert mint irtam ha en hozok letre 1 fajlt mindenfele furi karakterrel azokat siman cserelgetni.

iconv -f ISO-8859-1 -t UTF-8 utan csodalatosan megy a a karaktercsere :)
Csakhat jo lenne erteni,h miert!?

Amikor beírod a sed y/à/a/ parancsot, akkora egy UTF-8 kódolású 'à' karakter írsz be a billentyűzeten. Viszont a fájlban ISO-8859-1 kódolású 'à' karakter van, így a sed nem talál UTF-8 kódolású 'à' karaktert. (A sed nem tud arról, hogy a két különböző karakterkód ugyanazt a betűt jelenti.) Az iconv után már a fájl is UTF-8 kódolású, így már rendben működik a csere.