2013-04-24 4 views
0

У меня есть текст followinf:GNU Sed REGEX не найти и изменить строку (без замены)

11 Cherrywood Rise Ashford Kent TN25 4QA United Kingdom N B BONE 02/12 387 
Bisham village Bisham Buckinghamshire SL7 1RR United Kingdom Neil Noakes 06/13 488 
6 Kynaston Road London London N16 0EX United Kingdom MR N P SALTMARSH 04/13 907 
116 Long Acre London London WC2E 9SU United Kingdom Lorna J Gradden 11/14 415 

Как я могу использовать СЭД, чтобы соответствовать даты в формате «мм/гг» и изменить на «| мм/год |»

Как: 11 Cherrywood Rise Ashford Kent TN25 4QA United Kingdom N B BONE|02/12|387

Спасибо!

+1

[Что вы пробовали?] (Http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

ответ

2

Это работает для вас?

sed -r 's# ([0-9]{2}/[0-9]{2}) #|\1|#' file 
1

Пример 1

cat t.txt | sed -E 's/([0-9]{2}\/[0-9]{2})/|\1|/g' 

11 Черривуд Взлет Ashford Kent TN25 4QA Великобритания NB КОСТЬ (02/12) 387 Bisham деревня Bisham Бакингемшир SL7 1RR Великобритания Нил Нокс (06/13) 488 6 Kynaston роуд Лондона N16 0EX Соединенного Королевства МР Н.П. солончаке (04/13) 907 116 Длинный Акр Лондона WC2E 9SU Соединенного Королевства Лорна J Gradden (11/14) 415

или

sed -E 's/([0-9]{2}\/[0-9]{2})/|\1|/g' t.txt 
+1

[UUoCA] (http://partmaps.org/ era/unix/award.html), и запрошенный формат был '| 02/12 |' –

+0

@FredrikPihl Да, глупая ошибка :) фиксированный ответ –

Смежные вопросы