(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 |
另外要注意:用这种方式来判断负数的时候,也认为不是全为数字的,因为负数中带了一个负号,就不是数字。
(2)取字符串的第1个字符
1
2
|
VAR= "[Sun Feb 20 03:10:51 2011]"
echo ${VAR:0:1}
|
这样输出的就是第一个字符“[”了。详细用法请看这个链接。
(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脚本中进行字符串和数字的比较,包括基本的比较操作符及其使用场景,并...
对于字符串的类型,常见的判断方法包括判断字符串是否只包含数字、字母、字母数字组合、空格或特殊字符等。 在Shell编程中,可以通过多种方式来判断字符串或字符的类型。例如,使用grep命令结合正则表达式匹配数字...
- **${string/substring/replacement}**: 替换第一个匹配的子串。 - 示例: ```bash str="Hello World" echo "${str/World/Universe}" # 输出: Hello Universe ``` - **${string//substring/replacement}**: ...
1. **变量赋值**:在shell中,我们可以通过`var="string"`来定义一个字符串变量。 2. **引用**:双引号(`"`)内的变量会被解析,单引号(`'`)内的变量则不会。例如,`echo "$name"`会打印变量的值,而`echo '$name'`会...
2. 使用 ${varible#*string} 可以从左向右截取第一个 string 后的字符串。 3. 使用 ${varible%%string*} 可以从右向左截取最后一个 string 后的字符串。 4. 使用 ${varible%string*} 可以从右向左截取第一个 string ...
为了更好地理解这些技术的实际应用,我们可以编写一个简单的Shell脚本来判断一个文件是否为tar文件。假设我们有以下脚本: ```bash #!/bin/bash # 接受一个文件名作为参数 filename="$1" # 使用变量扩展从文件名...
在日常的Shell脚本开发工作中,我们经常需要处理字符串,其中计算字符串长度是一个常见的需求。本文将详细介绍五种在Shell脚本中计算字符串长度的方法,并对每种方法进行详细的解析,帮助读者更好地理解和掌握这些...
- **示例**: `echo $a | awk '{print substr($0, 1, 8)}'`表示从变量$a的第一个字符开始截取8个字符。 #### 3. cut `cut`命令用于从文件或输入流中截取指定字段或字符范围。 - **语法**: - `-c`: 按字符范围截取。...
现在每次分析网站日志的时候都需要判断百度蜘蛛是不是真实的蜘蛛,nslookup之后需要判断结果中是否包含“baidu”字符串 以下给出一些shell中判断字符串包含的方法,来源程序员问答网站 stackoverflow 以及...
then 这里的关键有几点: 1 使用单个等号 2 注意到等号两边各有一个空格:这是unix shell的要求 3 注意到”$test”x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等...
在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都... 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。
例如,确定一个字符串是否和另外一个字符串匹配。正确的,你可以使用 is equal 或 == 操作符。你也可以使用例如 >= 或 < 来确定几个字符串的排列顺序。 从官方文档上看 The operators ``is`` and ``is not`` ...
linux shell 字符串的截取
详细介绍了shell编程中的判断 数字 字符 文件名 等是否相等,匹配。附有详细的演示截图。在CentOs 6中演示。
在Python编程语言中,数字类型转换是一个非常基础且重要的概念,尤其在处理不同类型的数据进行运算时。本节主要探讨的是Python中的数字类型转换以及与字符串类型的交互。 首先,Python支持三种基本的数字类型:整数...
将需要替换的文件放到脚本同级目录,直接执行脚本即可。 根据脚本提示输入 替换前和替换后的字符串
标题中的知识点涵盖了编写Shell脚本时经常会使用的几个关键元素:复杂数学式的处理、字符串的比较、布尔值的表达以及case结构的使用。接下来,我们将详细地对这些元素进行解析和说明。 首先,Shell脚本中的复杂数学...
内容概要:shell脚本入门——变量、字符串, 本文详细介绍了 Shell 脚本中变量和字符串的基本操作,包括变量的定义、使用和作用域,以及字符串的定义、操作和拼接。通过具体的代码示例,解释了如何定义和使用变量,...