LINUX.ORG.RU

Регулярное выражение: вставить пробел перед любой цифрой и определенной буквой

 


0

2

Добрый день! Подскажите, как с помощью регулярного выражения вставить пробел перед любой цифрой и определенной буквой

Например,

исходный текст:
текст1т.р.
Результат:
текст 1т.р.

Или:

текст1сек
текст 1сек
Заранее спасибо
sed -i 's/([0-9]m)/(\.)([0-9]m)/g'
Не заменяет



Последнее исправление: chemtech (всего исправлений: 4)

Судя по приведённым примерам, это должно подойти:

LANG=ru_RU.utf8 sed -r 's/([[:alpha:]]+)([[:digit:]]+)/\1 \2/g' file

Но обычно цифры отделяются от букв с обеих сторон.

ArcFi
()
Ответ на: комментарий от ArcFi

Спасибо! Скажите, пожалуйста, почему :alpha: в двойных квадратных кавычках? И \1 и \2 ведь что-то означают?

chemtech
() автор топика
Ответ на: комментарий от chemtech

пожалуйста, почему :alpha: в двойных квадратных кавычках?

Символ во внешних скобках, класс символов — во внутренних.

И \1 и \2 ведь что-то означают?

Номера подстановок в круглых скобках.

ArcFi
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.