这个正则表达式有效(删除-search
)
[~%]for i in foo*-search-aae-status ; do echo $i(:s/-search//) ; done
foo1-aae-status
foo2-aae-status
foo3-aae-status
foo4-aae-status
foo5-aae-status
但是这个正则表达式(试图删除后面的所有内容-
)
[~%]for i in foo*-search-aae-status ; do echo $i(:s/-*//) ; done
foo1-search-aae-status
foo2-search-aae-status
foo3-search-aae-status
foo4-search-aae-status
foo5-search-aae-status
我是不是漏掉了什么?我试过了,.*
但还是被忽略了。
答案1
感谢来自 freenode irc 的 llua。
您可以启用 hist_subst_pattern 来执行我认为您正在尝试执行的操作
[%]setopt hist_subst_pattern
[%]print $TXT:s/-*//
foo1