Я использую GNU SED и выключаю уже пару лет. Иногда это немного раскручивает меня, но делает хорошую работу ... для однобайтовых наборов символов!
Время от времени я замечаю ссылки на GNU SED, поддерживающие Unicode, но наиболее близким, что я видел, является его "двоичный" режим… и двоичный не Unicode.
Может ли GSED обрабатывать текстовый файл Unicode с разрешением CodePoint, включая, в частности, \r \n (Windows)... и, если это возможно, ожидает UTF-8, UTF-16 или что? и как SED обнаруживает кодировку?
1 ответ
Я не знаю много о sed, но после некоторого жесткого поиска в Google, кажется, есть поддержка различных кодовых страниц через переменную среды LANG. Я считаю, что UTF-8 на самом деле является дефолтом при отсутствии LANG. Я не знаю, как настроить порт Windows, хотя. У меня есть сильное подозрение, что sed вообще не выполняет обработку обнаружения входного потока.
Источник: https://stackoverflow.com/questions/67410/why-does-sed-fail-with-international-characters-and-how-to-fix http://omgili.com/mailinglist/cygwin/cygwin/com/20100520123926GA1432onderneming10xs4allnl.html
Вы также можете попробовать экранирующие символы, как упомянуто здесь: http://forums.whirlpool.net.au/forum-replies-archive.cfm/841095.html Хотя это кажется очень громоздким.