`

用shell判断一个字符串是不是全为数字 & 取字符串的第N个字符(转)

 
阅读更多

(1)判断一个字符串是不是全为数字

01
02
03
04
05
06
07
08
09
10
11
#!/bin/sh
  
# 该变量就是要判断的变量
VAR="1234908"
  
RET=`expr match $VAR "[0-9]*$"`
if [ ${RET} -gt 0 ]; then
  echo "It is a Number!"
else
  echo "Not a Number!"
fi

文章来源:http://www.codelast.com/

另外要注意:用这种方式来判断负数的时候,也认为不是全为数字的,因为负数中带了一个负号,就不是数字

 

(2)取字符串的第1个字符

1
2
VAR="[Sun Feb 20 03:10:51 2011]"
echo ${VAR:0:1}

这样输出的就是第一个字符“[”了。详细用法请看这个链接

章来:http://www.codelast.com/

(3)从一个字符串的尾部开始,删除从指定字符开始直到最后一个字符

如下命令:

1
STR=`ethtool eth0 | grep Speed | awk '{print $2}'`

执行之后,变量 STR 中保存的是字符串“1000Mb/s”(不含引号),现在我要删除“Mb/s”,只剩下“1000”,可以这样做:

1
echo ${STR%M*}

这表示从右边开始,删除第一个 M 及右边的字符。

(4)截取字段串,可以考虑用删除掉多余字符串的方法来实现,例如:
截取字符串
[192.168.3.11] 中的方括号里的IP地址, 用将方括号删除的方法,即可实现同样的效果:

1
2
3
A="[192.168.3.11]"
B=`echo $A | sed 's/\ [//' | sed 's/]//'`
echo $B

输出即为:192.168.3.11
注意:上面的第2行代码中,\ 和 [ 之间特意多加了一个空格(其实不应该有空格的),是因为本站安装的LaTex插件的影响。

其中,两个sed命令分别将左括号[及右括号]替换为了空字符串,相当于删除了它们。左方括号在sed中需要转义,所以要以 \ 开头。

分享到:
评论

相关推荐

    shell字符串比较判断是否为数字

    本文阐述:shell中整数比较方法及字符串的比较方法,如等于,不等于,大于,大于等于,小于,等等

    Shell编程范例之字符串操作-TinyLab原创

    第一、找出字符或者字符串的类型,是数字、字母还是其他特定字符,是可打印字符,还是不可打印字符(一些控制字符)。 第二、找出组成字符串的字符个数和字符串的存储结构(比如数组)。 第三、对串的常规操作:求子串、...

    shell 字符串操作

    shell 字符串操作 关于字符的常用命令

    shell中字符串截取

    shell中字符串截取shell中字符串截取shell中字符串截取shell中字符串截取shell中字符串截取shell中字符串截取shell中字符串截取shell中字符串截取shell中字符串截取shell中字符串截取shell中字符串截取shell中字符串...

    shell字符串的截取

    shell 字符串 截取 查找 替换 shell 字符串 截取 查找 替换 shell 字符串 截取 查找 替换 shell 字符串 截取 查找 替换

    shell中字符串处理方

    shell中字符串处理方式,Linux下灵活活处理字符串的说明。。

    用Shell判断字符串包含关系的方法小结

    现在每次分析网站日志的时候都需要判断百度蜘蛛是不是真实的蜘蛛,nslookup之后需要判断结果中是否包含“baidu”字符串 以下给出一些shell中判断字符串包含的方法,来源程序员问答网站 stackoverflow 以及...

    比较两个字符串是否相等的shell代码

    then 这里的关键有几点: 1 使用单个等号 2 注意到等号两边各有一个空格:这是unix shell的要求 3 注意到”$test”x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等...

    linux shell 实现IP和数字的转换

    linux shell 实现字符串IP转换成数字IP,数字IP转换成字符串IP,便于开发时调用

    Linux Shell字符串比较

    Linux Shell字符串比较

    shell字符串处理

    在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都... 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。

    shell编程 之 数字 字符 文件 等判断相等否

    详细介绍了shell编程中的判断 数字 字符 文件名 等是否相等,匹配。附有详细的演示截图。在CentOs 6中演示。

    python中字符串比较使用is、==和cmp()总结

    例如,确定一个字符串是否和另外一个字符串匹配。正确的,你可以使用 is equal 或 == 操作符。你也可以使用例如 >= 或 < 来确定几个字符串的排列顺序。 从官方文档上看 The operators ``is`` and ``is not`` ...

    linux shell 字符串的截取

    linux shell 字符串的截取

    shell脚本,批量替换字符串

    将需要替换的文件放到脚本同级目录,直接执行脚本即可。 根据脚本提示输入 替换前和替换后的字符串

    shell 批量处理 字符串指令行

    NULL 博文链接:https://annan211.iteye.com/blog/2412844

    Shell脚本中计算字符串长度的5种方法

    主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下

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

    本篇文章主要介绍了”shell 判断字符串是否为数字”,主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下。 #!/bin/bash ## 方法1 a=1234;echo $a|[ -n `...

    shell编程中的字符串截取方法小结

    一、Gnu Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 2.echo $a|awk ‘{print substr(,1,8)}’ ...${varible#*string}从左向右截取第一个string后的字符串 ${varible%

Global site tag (gtag.js) - Google Analytics