Shell中判断字符串是否为数字的6种方法

#!/bin/bash  # 方法1
a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] && echo string a is numbers
第一个-n是shell的测试标志,对后面的串"`sed -n '/^[0-9][0-9]*$/p'`" 进行测试,如果非空,则结果为真。sed默认会显示所有输入行信息的,sed 的“-n”选项是让sed不要显示,而只显示我们所需要的内容:即后面的表达式所匹配的行,这是通过表达式中加入“p”命令来实现的。/^[0-9][0-9]*$/他的含义是匹配至少由一位数字构成的行
# 方法2, 可以,不过不是bash实现的,是使用了grep的正则
if grep '^[[:digit:]]*$' <<< "$1";then echo "$1 is number."
else echo 'no.'
fi
# 方法3
if [ "$1" -gt 0 ] 2>/dev/null ;then echo "$1 is number."
else echo 'no.'
fi
# 方法4,case
case "$1" in [1-9][0-9]*)  echo "$1 is number." ;; *)  ;;
esac
# 方法5,awk
echo $1| awk '{print($0~/^[-]?([0-9])+[.]?([0-9])+$/)?"number":"string"}' # 方法5,awk
if [ -n "$(echo $1| sed -n "/^[0-9]\+$/p")" ];then echo "$1 is number."
else echo 'no.'
fi
# 方法6,expr
expr $1 "+" 10 &> /dev/null
if [ $? -eq 0 ];thenecho "$1 is number"
elseecho "$1 not number"
fi

Shell中判断字符串是否为数字的6种方法相关推荐

  1. Shell中判断字符串是否为数字的6种方法分享

    本篇文章主要介绍了"shell 判断字符串是否为数字",主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下. #!/ ...

  2. Java中判断字符串是否为数字的五种方法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 推荐使用第二个方法,速度最快. 方法一:用JAVA自带的函数 Java代码   public sta ...

  3. java中判断字符串是否为数字的三种方法

    1用JAVA自带的函数 public static boolean isNumeric(String str){for (int i = str.length();--i>=0;){ if (! ...

  4. Java 正则中判断字符串是否为数字的两种方法

    方法1: public static boolean isNumber(String str){Pattern pattern = Pattern.compile("\\d+"); ...

  5. isdigit函数python检测数字个数_Python中判断字符串是否为数字的三个方法isdecimal 、isdigit、isnumeric的差别...

    isdecimal .isdigit.isnumeric这三个字符串方法都用于判断字符串是否为数字,为什么用三个方法呢?他们的差别是什么内? isdecimal:是否为十进制数字符,包括Unicode ...

  6. java equals 判断空_Java 判断字符串是否为空的三种方法与性能分析

    [java中判断字符串是否为数字的三种方法  1>用JAVA自带的函数 public static boolean isNumeric(String str){   for (int i = s ...

  7. java中判断字符串是否为数字的方法 StringUtil包函数

    java中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){   for (int i = 0; i &l ...

  8. java中判断字符串是否为数字(正整数)

    标题:java中判断字符串是否为数字(正整数) 遍历s的每一个字符 private boolean isNumeric(String s) {for (int i = 0; i < s.leng ...

  9. python中字符串转成数字的几种方法

    在python列表操作中,面对需要把列表中的字符串转为礼拜的操作,无需强转,通过简单的几步就可以实现,本文介绍python中字符串转成数字的三种方法:1.使用join的方法:2.使用int函数将16进 ...

最新文章

  1. 提高Service提高进程优先级别,不被系统容易杀死
  2. 强烈推荐几个我常置顶阅读清华、哈工大的平台公众号!
  3. 【SPSS】SPSS第五周作业
  4. 【tensorflow】——tensorboard可视化计算图以及参数曲线图loss图
  5. Codeforces Round #715 (Div. 2)
  6. python float 精度_浅谈Python里面小数点精度的控制
  7. 网络基本知识(1) ARP解析
  8. 将samba加入到windows域《转载》
  9. 离线缓存之RNCachingURLProtocol解析
  10. 分享:开源货币新世界
  11. mysql插入datetime默认值0000-00-00时报错
  12. bootstrap 获取表格修改的结果_bootstrap table getData获取表格数据的方法
  13. R语言基础数据分析——双因素方差分析
  14. [转帖]怎样选择(FC-SAN)光纤通道(存储)交换机
  15. 我谈 Markdown
  16. EXPLAIN各个字段是什么意思
  17. 网络文件存储系统(三)fastdfs分布式文件系统实战
  18. 雷达感应智能化技术,让家居生活更智能,雷达传感器技术应用
  19. 使用Htmlunit工具获取表单中的input
  20. centos7下mysql忘记密码并修改

热门文章

  1. yml和properties的区别
  2. MySQL 去除字符串中的括号以及括号内的内容
  3. Android Multimedia Framework overview(多媒体框架概述)--base on jellybean(一)
  4. Pause Giant AI Experiments: An Open Letter(暂停大型人工智能实验: 一封公开信)
  5. java around_around
  6. 5-29 止跌上涨中,关注明后两天能否创新高点
  7. CentOS7 安装WPS: libGLU.so.1()
  8. RabbitMQ 安装 rabbitmq-plugins 报错
  9. 【从零开始vnpy量化投资】一. vnpy初探 - 注册、安装、运行策略
  10. java mysql geometry_java程序操作Geometry对象