sed / regex: как сопоставить '<' или '>' в строке - PullRequest
6 голосов
/ 21 декабря 2011

Я ищу совпадения со всеми знаками меньше ('<') или больше ('>') в файле с использованием sed. Я хочу соответствовать только одному символу

Моя цель - заменить их на ' <' и '> ' (убедитесь, что вокруг них есть пробелы, чтобы я мог их легче разобрать).

Например, это будет соответствовать: (без пробелов внутри тегов)

< p >Hey this is a paragraph.< /p >< p >And here is another.< /p >

.. и превратить его в (обратите внимание на пробелы)

 < p > Hey this is a paragraph. < /p >  < p > And here is another. < /p > 



Вот то, что мое первоначальное (неправильное) предположение было:

sed 's/<{1}|>{1}/ <> /' ...


Он соответствует целому слову / строке, что нежелательно, и также не заменяет правильно.

В любом случае, любая помощь будет признательна! Спасибо!

1 Ответ

6 голосов
/ 21 декабря 2011

Попробуйте две замены, чтобы сделать это проще:

sed 's/</ </g ; s/>/> /g' file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...