我需要删除定界符“ <”和“>”之间的文本,但是在文本文件的每一行上都有多个这些实例。
例如,我要打开它:
person 1, person 2<email2@mail.com>, person 3<email3@mail.com>, person 4<email4@mail.com>`
对此:
person 1, person 2, person 3, person 4
我尝试使用一些东西,包括sed:
sed -e 's/<.*>//' filename.csv
但是这会删除第一个<
和最后一个>
之间的所有内容,并给出结果person 1, person 2
。
答案 0 :(得分:5)
您可以在正则表达式中使用否定的字符类:
sed 's/<[^>]*>//g' filename.csv
答案 1 :(得分:1)
如果您想加入黑暗面,可以使用Perl用?
指定非贪婪的通配符:
perl -pe 's/<.*?>//g' filename.csv