设为首页 收藏本站
查看: 505|回复: 0

脚本应用之六: 字符串判断&处理函数 【 functions_string1 】

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-4-18 10:01:55 | 显示全部楼层 |阅读模式
测试系统版本:CentOS 6.4
作用:脚本提供判断和处理字符串的函数,可供其他脚本调用。例如:判断字符串是否都是数字\大小写字母、字符串中字母是否为大\小写以及大小写转换和字符串包含关系判断等。
使用:脚本中调用 “./source functions_string1”

代码专区:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#/bin/bash

#  LY
#  ------------------
#  Copyright 2016.4.14, LingYi (lydygly@163.com) QQ:1519952564
#    "functions about strings"

#共用代码
repstrs='len_str=${#1} && [[ $len_str -eq 0 ]] && return 1'
#全数字
isdigit(){
    local i
    eval $repstrs
    for((i=0; i<len_str; i++))
    do
        echo ${1:i:1} | grep -q '[0-9]' || return 1
    done
}

#全字母
isalpha(){
    local i
    eval $repstrs
    for((i=0; i<len_str; i++))
    do
        echo ${1:i:1} | grep -q '[a-zA-Z]' || return 1
    done
}
#全字母数字
isalnum(){
    local i
    eval $repstrs
    for((i=0; i<len_str; i++))
    do
        echo ${1:i:1} | grep -q '[0-9a-zA-Z]' || return 1
    done
}

#字母全小写
islower(){
    local i str
    eval $repstrs
    str=$( echo $1en_str | tr -cd 'a-zA-Z' )
    for((i=0; i<len_str; i++)); do
        echo ${str:i:1} | grep -qw '[a-z]' || return 1
    done
}

#字母全大写
isupper(){
    local i str
    eval $repstrs
    str=$( echo $1en_str | tr -cd 'a-zA-Z' )
    for((i=0; i<len_str; i++))
    do
        echo ${1:i:1} | grep -qw '[A-Z]' || return 1
    done
}

#全空格
isspace(){
    local i
    eval $repstrs
    for((i=0; i<len_str; i++))
    do
        [[ "${1:i:1}" == ' ' ]] || return 1
    done
}

#小写字母转为大写
upper(){
    eval $repstrs
    echo $1 | tr 'a-z' 'A-Z'
}
#大写字母转为小写
lower(){
    eval $repstrs
    echo $1 | tr 'A-Z' 'a-z'
}
#删除字符串前后两侧的所有空格
strip(){
    eval $repstrs
    echo $1
}
#删除字符串中的所有空格
stripall(){
    eval $repstrs
    echo $1 | tr -d ' '
}

#字符串包含关系(部分包含即可)
#eg: incstr 'ab' 'ccdd' -->false
#eg: incstr 'ab' 'cabd' -->true
incstr(){
    [[ "${2/$1/}" == "$2" ]] && return 1
    return 0
}

#字符串包含关系(全包含,类似 grep -w )
#eg: judin 'ab' 'abc efa' -->false
#eg: judin 'ab' 'ab  efa' -->true
judin()
{
    set $@
    local judstr=$1
    shift
    while [[ $# -ne 0 ]]; do
        [[ "$1" == "$judstr" ]] && return 0
        shift
    done
    return 1
}





代码下载链接

functions_string1.rar (602 Bytes, 下载次数: 0)



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-205490-1-1.html 上篇帖子: 脚本应用之五: 免密码秘钥登录 批量实现 下篇帖子: 脚本应用之七: 子网计算 字符串
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表