Od kilku lat korzystam z GNU SED. Czasem mnie to trochę podkręca, ale robi dobrą robotę ... dla zestawów znaków jednobajtowych!
Od czasu do czasu zauważam, że odniesienia do GNU SED są świadome Unicode, ale najbliższe, jakie widziałem, to tryb „binarny”… a binarny to nie Unicode.
Czy GSED może przetwarzać plik tekstowy Unicode w rozdzielczości CodePoint, w tym zwłaszcza \ r \ n (Windows) ... a jeśli tak, czy oczekuje UTF-8, UTF-16, czy co? i jak SED wykrywa kodowanie?
10
Odpowiedzi:
Nie znam tony o sed, ale po pewnym trudnym Googlingu wydaje się, że obsługuje różne strony kodowe poprzez zmienną środowiskową LANG. Uważam, że UTF-8 jest tak naprawdę domyślny w przypadku braku LANG. Nie wiem jednak, jak skonfigurować port Windows. Mam silne podejrzenie, że sed w ogóle nie wykonuje przetwarzania detekcji w strumieniu wejściowym.
Źródła: /programming/67410/why-does-sed-fail-with-international-characters-and-how-to-fix http://omgili.com/mailinglist/cygwin/cygwin/com /20100520123926GA1432onderneming10xs4allnl.html
Możesz także wypróbować znaki specjalne, jak wspomniano tutaj: http://forums.whirlpool.net.au/forum-replies-archive.cfm/841095.html Jednak to wydaje się bardzo kłopotliwe.
źródło