我有
text text text [text text] \n
text text text [text text] \n
我想要
text text text \n
text text text \n
我可以使用哪种RE?
答案 0 :(得分:4)
无论\n
是行尾还是反斜杠和字母'n',以下内容都有效:
sed 's/\[.*] //' $file
该模式查找一个开放的方括号,后跟任意字符序列,直到最后一个关闭的方括号和后面的空格(如果有几个)。您可以将“.*
”细化为“[^]]*
”以匹配任何不是紧密方括号的内容;这只会删除第一个方括号。
答案 1 :(得分:2)
/[^\[]*/
可以帮到你。如果[...]之后没有任何内容出现,那就足够了。
答案 2 :(得分:1)
你可以使用awk
$ more file
text [dont want text here ] text text [ dont want text] \n
text text text [ dont want text] \n
$ awk -vRS=']' '/\[/{gsub(/\[.*/,"")}1' ORS="" file
text text text \n
text text text \n