2
在bash脚本中,我将如何去除两个字符串之间的文本(包括蜇伤)。在两个分隔符之间删除字符串
原始文本:
(ABC blah1)blah 2(def blah 5)blah 7)(DEF blah 8)blah 9
我想删除之间的所有文本 '(DEF' 和下一个 ')'。所以,我需要的输出将是:
(ABC blah1)blah 2blah 7)blah 9
这将是最好有搜索不区分大小写...在上面的例子中,它发现和删除“(DEF ...)”和“(DEF。 ..) '
我曾尝试:
echo "(ABC blah1)blah 2(def blah 5)blah 7)(DEF blah 8)blah 9" | sed 's/(def.*)//gI'
但输出是:
(ABC blah1)blah 2blah 9
我想这是因为' *”是GR在sed的eedy。
任何想法如何我可以格式化我的sed搜索字符串? sed甚至是最好的实用工具吗?我从一个bash脚本运行这个东西,所以任何基本的实用工具,通过bash都可以。
这做到了!非常感谢。顺便说一句,我的sed版本确实接受'我',所以它保存了几个按键。 – user1822391