博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达 比较两个浮点数
阅读量:6612 次
发布时间:2019-06-24

本文共 1469 字,大约阅读时间需要 4 分钟。

[ "$a" -lt "$b" ],当$a $b 是整数(integer)时,工作得很好,但对于浮点数,会得不到想要的结果,它只会给你“-bash: ***期待整数表达式”的结果。

为了比较两个浮点数,可以写成这样
[ `echo "$a > $b" | bc` -eq 1 ]  #   -eq 1  或者  -ne 0
 
 

zzx@zzx103:/zzxdisk/zzx/Desktop/xuqiang/shell$ echo "1.0 > 2" | bc

0
zzx@zzx103:/zzxdisk/zzx/Desktop/xuqiang/shell$ echo "11.0 > 2" | bc
1

 

 

^[0-9]\\d*$

^[1-9]\d+\.[0-9]{1,2}|0\.[0-9]{1,2}|[1-9]\d+|0$  数字+两位小数
整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
只能输入非零的负整数:"^\-[1-9][]0-9"*$。
只能输入长度为3的字符:"^.{3}$"。
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。   

 

 

 
判断文件扩展名是否符合要求
 
 
 
 
 

zzx@zzx11:~$ expr "a.abc" : ".*\.ac"        

0
zzx@zzx11:~$ expr "a.abc" : ".*\.abc"   #非0
5

 

 *  匹配0次或多次之前字符

 +  匹配1个或多个之前字符

 ? 匹配0个或1个之前字符

 .   匹配任意1个字符

 

 

 []  匹配字符集

 [^ ]   ^表示取反

 判断是否整数

1、

read num
echo $num|grep -q '^[-]\?[0-9]\+$' && echo yes || echo error

 

 

正则表达式^[0-9]+ [+-*\] [0-9]+ = [0-9]+$的解释

 

1.^代表以xxx开头的行,  [0-9]+表示至少出现一个0-9之间的数字。 合起来 就是 必须开头的数字是0-9之间的数字,个数最少一个 2.[+-*\] 表示这是个符号中的其中一个,,也就是 + - * /运算符 3.[0-9]+ 接着。后面跟着必须是 0-9之间的数字。个数最少一个 4 = 等号就表示 =号这个符号 5 [0-9]+$ ..$表示一行的结尾,所以这里的意思必须用0-9之间的字符结果

 

2、read -p “Pls input:”  a

    expr  $a + 0 >/dev/null    #  和零相加   不是整数相加会报错     注意$a为空或者字符时~~~  提前判断是否空

    [ $?  -eq  0 ]  &&  echo int  ||  echo chars    # 整数不报错$? 为0

转载于:https://www.cnblogs.com/hanxing/p/4069226.html

你可能感兴趣的文章
CentOS 6.5下PXE+Kickstart无人值守安装操作系统
查看>>
xtrapivotcontrol 控件用法及相关属性
查看>>
Shell脚本 常用命令总结 二
查看>>
JS模拟select下拉菜单
查看>>
vmware workstation14永久激活密钥分享
查看>>
iOS 多线程 之 GCD(大中枢派发)(一)
查看>>
Myeclipse中打开接口实现类的快捷键
查看>>
删除sql dump中的AUTO_INCREMENT
查看>>
使用JdbcTemplate和JdbcDaoSupport
查看>>
C博客作业--指针
查看>>
版本12.2.0.1.0数据库,复制种子数据库快速创建租户数据库PDB
查看>>
Glibc 和 uClibc
查看>>
vs2012中自带IIS如何让其他电脑访问
查看>>
Redux:异步操作
查看>>
Mysql学习第三课-分析二进制日志进行增量备份和还原
查看>>
POJ1961 Period [KMP应用]
查看>>
如何在 Android 手机上安装 Ubuntu 13.04
查看>>
HDU 6073 - Matching In Multiplication | 2017 Multi-University Training Contest 4
查看>>
C语言 scanf()和gets()函数的区别
查看>>
如何检测域名是否被微信屏蔽 微信域名检测接口API是如何实现
查看>>