【发布时间】:2019-01-22 09:25:33
【问题描述】:
当两个感叹号“!”之间出现空格时,我正在尝试删除它们。
例如,我试过:
echo 'this is ! a repeated ! ! ! ! character ! ! ! here ! !' | sed 's/! !/!!/g'
期望的输出是:
this is ! a repeated !!!! character !!! here !!
但我得到了这个:
this is ! a repeated !! !! character !! ! here !!
一种方法是重复sed 命令,但实际上我可以有任意数量的“!”在我的输入中,我想不出一个干净的方法来做到这一点。
【问题讨论】:
-
使用条件跳转直到不再发生替换。看看 sed 的
t和:命令。
标签: regex string bash sed replace