Мне нужно удалить текст между разделителями «‹» и «>», но в каждой строке моего текстового файла их несколько.
Например, я хочу превратить это:
person 1, person 2<[email protected]>, person 3<[email protected]>, person 4<[email protected]>`
В это:
person 1, person 2, person 3, person 4
Я пытался использовать несколько вещей, в том числе sed:
sed -e 's/<.*>//' filename.csv
но это удаляет все между первым <
и последним >
, что дает результат person 1, person 2
.
sed 's/<.*>//g' file
будет работать, но только если есть только один адрес электронной почты, потому что.*
является жадным и соответствует самой длинной возможной строке. Однако, если вместо этого вы используетеsed 's/<[^>]*>//g' file
, регулярное выражение удалит все строки, начинающиеся с<
, и все остальное до следующего>
. - person potong   schedule 23.03.2019