sed/regex:如何匹配字符串中的"<"或">"

jim*_*man 6 regex sed

我希望使用sed匹配文件中所有小于('<')或大于('>')的符号.我只想匹配单个字符

我的目标是,以取代他们' <',并'> '分别(确保他们有他们周围的白色空间,所以我可以分析他们更容易).

例如,它将匹配:(标签内没有空格)

< p >Hey this is a paragraph.< /p >< p >And here is another.< /p >
Run Code Online (Sandbox Code Playgroud)

..并把它变成(注意空格)

 < p > Hey this is a paragraph. < /p >  < p > And here is another. < /p > 
Run Code Online (Sandbox Code Playgroud)



这是我最初的(错误的)猜测:

sed 's/<{1}|>{1}/ <> /' ...
Run Code Online (Sandbox Code Playgroud)


它匹配整个单词/行,这是不需要的,它也不能正确替换.

无论如何,任何帮助将不胜感激!谢谢!

sid*_*yll 6

尝试两次替换以使其更容易:

sed 's/</ </g ; s/>/> /g' file
Run Code Online (Sandbox Code Playgroud)

  • 或者你可以这样做 - `sed -e 's/&lt;/ &amp;/g' -e 's/&gt;/&amp; /g' 文件` (2认同)