美文网首页
Shell中判断字符串是否为数字的6种方法

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

作者: 小王同学123321 | 来源:发表于2019-04-10 17:27 被阅读0次
#!/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 ];then
  echo "$1 is number"
else
  echo "$1 not number"
fi

相关文章

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

  • linux shell中的比较符号与特殊符号介绍

    shell字符串比较、判断是否为数字 二元比较操作符,比较变量或者比较数字。注意数字与字符串的区别。 整数比较 -...

  • shell中判断空字符串和有趣的空字符串

    Introduction Shell 中判断空字符串以及有趣的空字符串 判断字符串是否为空 Example1 Ex...

  • java 正则 常用

    1、判断字符串 是否为纯字母 2、判断字符串 是否为纯数字 3、判断字符串 是由字母和数字组成 4、判断字符串 是...

  • iOS【NSString基本方法】

    判断字符串是否包含数字 判断字符串是否包含英文字母 判断字符串是否包含数字与字母 去掉首尾空格字符 判断是否为空 ...

  • OC中常用的String类别

    获取Url中参数对应的value 判断字符串中是否有中文 判断是否为QQ号 判断是否为手机号 是否是数字 是否是身...

  • 判断是否为数字类型

    //判断是否为数字类型//parseFloat() 该函数指定字符串中的首歌字符是否是数字。如果是,则对字符串进行...

  • Linux Shell 编程

    1. if 判断条件: -a:判断文件是否存在 -n:判断字符串是否为空 2. shell 脚本 here doc...

  • 常用算法

    求最大公约数 判断字符串是否为回文串 判断数字是否为质数 判断数组中是否存在相同元素 求阶乘 二进制中1的个数

  • python 判断输入类型

    判断Python输入是否为数字 在接收raw_input方法后,判断接收到的字符串是否为数字 例如: str = ...

网友评论

      本文标题:Shell中判断字符串是否为数字的6种方法

      本文链接:https://www.haomeiwen.com/subject/wmeoiqtx.html