У меня есть документ с некоторыми специальными символами, такими как неразрывное пространство, неразрывная дефис и т. Д. Я хочу нормализовать этот документ и заменить эти специальные символы пробелом. Кроме того, поскольку содержание этого документа собрано из разных ресурсов, в нем есть разные формы «Yeh» (ی), и я хочу их нормализовать.Найти и заменить символы без пробелов в Bash
Можно ли найти и заменить символы Unicode в документе с помощью команды sed? Могу ли я использовать коды Unicode вместо поверхностной формы символа? например, могу ли я использовать x00a0 вместо неразрывного пространства в команде sed? Как?
Извините за неправильное объяснение. Мои документы закодированы в UTF8 и содержат неанглийские символы. например, у меня есть документ на арабском языке, документ на урду и один на персидском (фарси). теперь я хочу заменить некоторые символы в этих файлах другим символом. По нормализации я имею в виду, что я хочу заменить все формы «Йе» на одну форму. . (Как вы, возможно, в настоящее время, есть много форм такого характера, который используется на арабском языке, но для упрощения и некоторых вопросов обработки я хочу, чтобы объединить все эти формы
Вы можете, используя GNU СЭД, но вам следует использовать '' ed' или ex' для изменения файлов. Кроме того, я не знаю, что вы подразумеваете под «нормализацией». – ormaaj
см. Http://stackoverflow.com/questions/8562354/remove-unicode-characters-from-textfiles-sed-other-bash-shell-methods, это также можно сделать в perl –