LINUX.ORG.RU

как заменить последний символ в строке

 ,


0

1

Добрый день. Есть кривой прайс^W файл типа:

слово1 пробел слово2 пробел слово3 пробел циферки

слово1 пробел циферки

слово1 пробел слово2 пробел циферки

Нужно пробел(выделил жирным) перед циферками заменить на знак табуляции.

Курю маны sed и awk, но там пока нашел примеры как все пробелы заменть табуляцией и как заменить определенный символ в строке, но не последний являющийся пробелом.

Как сделать? с помощью чего?

★★

Ответ на: комментарий от evilface

Найдёт «пробел, за которым одна и более цифер и конец строки», запомнит цифры (скобки запоминают в \<номер_скобок>), подставит вместо найденного \t (табуляция) и запомненные цифры.

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

ой, черт, надо же еще написать, на что заменять. ну и хрен с ним, ТСу все равно подсказали

кстати, разве у тебя перед круглыми скобкими не надо бэкслэшей?

f1u77y ★★★★
()
Ответ на: комментарий от evilface

Есть в gsed и новом фряшном седе (в десятой фряхе точно). В других не знаю, под соляркой нету, к примеру.

evilface ★★
()
Ответ на: комментарий от beastie

я уже сказал, что забыл написать, на что заменить, а на коммент ответили

f1u77y ★★★★
()
Ответ на: комментарий от beastie

Да, оно, но только sed 's/ \([^ ]*\)$/\t\1/'

Всем спасибо!

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