транслитерировать часть ввода - PullRequest
1 голос
/ 10 марта 2011

Могу ли я получить несколько указателей для сценария sed для транслитерации вроде y / abc / 123 / но только на некоторых входах. Обработка будет следовать следующим правилам:

  1. включить транслитерацию, как только увидит символ
  2. отключить, как только будет виден символ µ (может быть на линии различий до ¡)
  3. никогда не транслитерировать между &; или <> символы

1 Ответ

2 голосов
/ 10 марта 2011

Это можно сделать за sed, но это будет крайне болезненным.Perl, Python, Ruby и т. Д. Были бы лучшим выбором.

Если вы должны сделать это в sed, основной подход - сохранить части строки, которые вам не нужнычтобы изменить в буфере удержания, проложите путь через строку и добавьте заполненные части в буфер удержания, пока основной буфер не опустеет, а затем вытяните буфер удержания обратно в основной буфер.Кроме того, вы хотите иметь два отдельных цикла, один для режима транслитерации (введен в ¡), а другой для режима прохода (начальный режим и введен в µ).

...