删除定界符之间的文本,每行多次

uni*_*eel 2 regex bash sed non-greedy

我需要删除定界符“ <”和“>”之间的文本,但是在文本文件的每一行上都有这些的多个实例。

例如,我想转一下:

person 1, person 2<email2@mail.com>, person 3<email3@mail.com>, person 4<email4@mail.com>`
Run Code Online (Sandbox Code Playgroud)

变成这个:

person 1, person 2, person 3, person 4  
Run Code Online (Sandbox Code Playgroud)

我试图使用一些东西,包括sed:

sed -e 's/<.*>//' filename.csv

但这会删除给出结果的第一个<和最后一个之间的所有内容。>person 1, person 2

ogu*_*ail 5

您可以在正则表达式中使用否定的字符类:

sed 's/<[^>]*>//g' filename.csv
Run Code Online (Sandbox Code Playgroud)