相关疑难解决方法(0)

在bash中的if-condition中使用正则表达式

我想知道在bash的if子句中使用正则表达式的一般规则?

这是一个例子

$ gg=svm-grid-ch  
$ if [[ $gg == *grid* ]] ; then echo $gg; fi  
svm-grid-ch  
$ if [[ $gg == ^....grid* ]] ; then echo $gg; fi  
$ if [[ $gg == ....grid* ]] ; then echo $gg; fi  
$ if [[ $gg == s...grid* ]] ; then echo $gg; fi  
$   
Run Code Online (Sandbox Code Playgroud)

为什么最后三个不匹配?

希望你能尽可能多地给出一般规则,而不仅仅是这个例子.

regex bash

84
推荐指数
5
解决办法
22万
查看次数

正则表达式和if shell脚本

我的程序启动一些服务并将其输出存储在tmp变量中,如果它以FATAL关键字开头,我想匹配变量的内容吗?如果它包含我将Port in use使用echo命令打印

例如,如果tmp包含FATAL: Exception in startup, exiting.

我可以通过以下方式完成sed:echo $tmp | sed 's/^FATAL.*/"Port in use"/'

但我想使用内置if来匹配模式.如何使用shell内置功能来匹配REGEX?

regex shell ksh sed

1
推荐指数
1
解决办法
1738
查看次数

标签 统计

regex ×2

bash ×1

ksh ×1

sed ×1

shell ×1