shell脚本之——正则表达式的应用(案例分析)以及函数的应用(案例分析)
1、使用正则表达式,获取指定的座机号
以下座机号码:
025 555555555555 025 56855528 025-86666666 (025) 86656666 025 12123333 025CDD66666 02566666666
从上面号码中过滤出下面这些号码,使其所有数字都变红
025 56855528 025-86666666 (025) 86656666 02566666666
1.1 格式
[root@weq ~]# cat testfile5
025 555555555555
025 56855528
025-86666666
(025) 86656666
025 12123333
025CDD66666
02566666666
[root@weq ~]# egrep "^\(*025\)*[ -]*[586][0-9]{7}$" testfile5
025 56855528
025-86666666
(025) 86656666
02566666666
[root@weq ~]# egrep "^\(?025\)?[ -]?[586][0-9]{7}$" testfile5
025 56855528
025-86666666
(025) 86656666
02566666666
1.2 输出结果
 
  
2、使用正则表达式,获取指定的邮箱
要求:
用户名@:字符长度在6位及以上,开头只能是字母或者_,中间可使用的符号有:. - # _
子域名:可能是大小写字母、数字,_ - .
.顶级域名:字符串长度一般在2-5之间
2.1 格式
[root@weq ~]# cat aaa.txt 
zhangsan1234@qq.com
lucy_789@sina.com.cn
li li@163.com
qian@qi@wo.cn
www 13@qq.com
[root@weq ~]# egrep "^([a-zA-Z_][a-zA-Z0-9_#\.\-]{5,})@([a-zA-Z0-9_\.\-]+)\.([a-zA-Z]{2,5})" aaa.txt 
zhangsan1234@qq.com
lucy_789@sina.com.cn  
2.2 输出结果

3、请通过在命令行中执行./output 20 30 输出20+30的值,脚本中使用sum()函数封装代码并通过调用sum函数返回结果。
3.1 格式
#!/bin/bash
#返回值
sum () {
     sum1=$[a + b]
     echo $sum1
}
a=$1
b=$2
sum  
3.2 输出结果

    将本人在工作学习中的一些知识记录并分享
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号