shell 正则表达式 疑问,哪位大神给看下 如何解决

weixin_57177514 weixin_57177514 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
因为公司用的genesis2000,PCB行业用的csh

现在我的疑问是

#!c:/usr/bin/csh
set a = +2.4
set b= -2.4

set a1 = `echo "$a"|cut -c1`


PAUSE $a1 #############获得的是+

PAUSE $c
if( $a1 == "+")then
PAUSE "true"
else
PAUSE "false"
endif

#########为什么$a1跟“+”不相等,换成其他变量如set c = "+"还是不相等?用正则表达式该怎么写(匹配第一个符号 是+还是-,我用正则表达式还是错的)
if[ $a =~ ^+ ]then 一直返回true,谁知道 这个语法如何写,查了很多资料,没有chsell的正则,就是变量a第一个字符是+还是-
PAUSE "true"
else
PAUSE "false"
endif

谢谢,不吝赐教
...全文

相关推荐

Shell if中的正则表达式使用详解

由于工作需要对用户提交的数据进行验证,这是一个简单的日期正则验证实例,有需要了解的同学可参考。 shell中的if语句需要做一个正则判断,查了一下语法记录之。 DATEPATTERN=^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$ if [[ $STARTDATE =~ $DATEPATTERN ]] && [[ $ENDDATE =~ $DATEPATTERN ]]; then : else echo date format is invalid! exit; fi 常用的正则表达式 if [[ $file =~ 'start' ]] 或if [[

weixin_38731075

Linux Shell脚本之正则表达式

正则表达式RE 重要的文本处理工具:vim sed awk grep 1.什么是正则表达式? 正则表达式(regular expression,RE)是一种字符模式,用于在查找过程中匹配指定的字符。 在大多数程序里,正则表达式都被置于两个斜杠之间;例如/l[oO]ve/就是由正斜杠界定的正则表达式。 它将匹配被查找的行中任何位置出现的相同模式,在正则表达式中,元字符是重要的概念 匹配数字:1+$ ^:以xxx开头,+前面的对象出现一个或多个,$是以xxx结尾,[]里面的是匹配的模式 匹配mail:[a-z

Jiangxl~

shell编程 之 正则表达式

详细介绍了 shell编程 之 正则表达式,附有详细截图。

乱红飞

Shell脚本中通过正则表达式匹配IP地址

在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址。 shell和其它编程语言一样,也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]} 下面以ip=”121.0.2.2″为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现): 代码如下: #!/bin/bash ip=”121.0.2.2″ if [[ $ip =~ ^([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0

weixin_38623272

Linux Shell脚本的编程之正则表达式

一 正则表达式与通配符 1 正则表达式是用在文件中匹配符合条件的字符串,正则是包含匹配,grep,awk,sed等命令可以支持正则表达式 2 通配符是用来匹配符合条件的文件名,通配符是完全匹配,ls,find,cp这些命令不支持正则表达式,所以只能用Shell自己的通配符来进行匹配了。 二 基础正则表达式 这里引用兄弟连的测试文本   1 * 前一个字符匹配0次或任意多次 grep “a*” test_rule.txt 匹配所有内容,包括空白行(由于*可以匹配0次) grep “aa*” test_rule.txt 匹配至少包含有一个a的行 grep “aaa*” test_rule.

weixin_38700320
评论 3
收藏 已收藏
分享
返回顶部