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.
- 1053 megtekintés
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ó.
- A hozzászóláshoz be kell jelentkezni
file in.put
in.put: ISO-8859 text, with CRLF line terminators
sed s/à/a/g es sed y/à/a/ parancsok lefutnak, de nem csereli ki a karaktert.
sed s/9/1/g es sed y/9/1/ mukodik.
- A hozzászóláshoz be kell jelentkezni
locale?
- A hozzászóláshoz be kell jelentkezni
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
Nem igazan tudom,h mi ez a locale...
Mindenesetre Snow Leopard alapbeallitas.
- A hozzászóláshoz be kell jelentkezni
gondolom itt a hiba a 3. sorban, utf8-nak nézi a a latinodat, amiben van az utf8nak értelmezhetetlen karakter
próbáld ki: "export LC_ALL=C"
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
a sed, tr, cat nem mutat semmit, mivel a lc-t átállítottad a shell jelenít meg mást, a másik kettőben meg gondolom meg lehet nézni mi az aktuális kódlap ami miatt azokat mutatja
- A hozzászóláshoz be kell jelentkezni
nem pont az a baj hogy támogatja? különben hogy lenne illegal karakter? UTF-8-ban vannak illegal karakterek :)
rá kell venni hogy nem UTF-8-nak értelmezze, talán LC_ALL=C
- A hozzászóláshoz be kell jelentkezni
iconv -f ISO-8859-1 -t UTF-8 utan csodalatosan megy a a karaktercsere :)
Csakhat jo lenne erteni,h miert!?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
koszi! igy mar vilagos.
- A hozzászóláshoz be kell jelentkezni