перенести один набор символов в другой набор символов в Splunk - PullRequest
0 голосов
/ 24 мая 2018

Мне нужно заменить все акценты в 5 гласных испанского алфавита, используя одно регулярное выражение замены и 5 групп захвата.

В моем тексте у меня есть текст и так далее.До сих пор у меня есть это регулярное выражение:

s/(=?[àáÀÁ])|(=?[èéÈÉ])|(=?[ìíÌÍ])|(=?[òóÒÓ])|(=?[ùúÙÚ])/$1$2$3$4$5/g

Но это регулярное выражение дает мне одинаковый результат для каждой группы.

Есть ли способ получить разные значения для каждой из разных групп?Вот так:

group1 ($ 1) -> A

group2 ($ 2) -> E

group3 ($ 3) -> I

group3 ($ 4) -> O

group3 ($ 5) -> U

Я знаю, как это сделать, используя 5 различных регулярных выражений, но мне нужно сделать это всего за один раз.Есть мысли?

Спасибо большое !!

1 Ответ

0 голосов
/ 24 мая 2018

Я не знаю, как это сделать с одним стандартным выражением (хотя я бы хотел, чтобы его ошиблись.)

sed имеет специальную команду y / transiterate в этом случае:

sed -e 'y/àáÀÁèéÈÉìíÌÍòóÒÓùúÙÚ/aaAAeeEEiiIIooOOuuUU/'

Однако это не поможет вам удалить начальные символы = перед символами, которые вы хотите транслитерировать.Можете ли вы объединить две команды sed?например,

sed -e '{ y/àáÀÁèéÈÉìíÌÍòóÒÓùúÙÚ/AAAAEEEEIIIIOOOOUUUU/; s/=\([AEIOU]\)/\1/g; }'
...