Linux使用shell脚本处理字符串的实现方法

  介绍

这篇文章给大家分享的是有关Linux使用shell脚本处理字符串的实现方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

<强> 1。截取字符串的前8位

expr  substr “string"美元;1,8   echo  string 美元;|,awk  & # 39; {print  substr (, 1, 8)} & # 39;   echo  string 美元;| cut  -c1-8   echo  string 美元;|,dd  b=1,数=8,2在/dev/null

<强> 2。分割,替换字符串

<强> 2.1命令说明

符号释义*通配符,用于匹配字符串将被删除的子串。分割符,可以为任意一个或多个字符%从右向左匹配#从左向右匹配/表示替换% #/非贪婪匹配,即匹配符合通配符的最短结果% # #//贪婪匹配,即匹配符合通配符的最长结果示例含义${}#值计算值字符串的字符数量% ${价值。% % *}或{美元价值。*}删除值字符串中以分隔符“干净匹配的右侧字符,保留左侧字符# * ${价值。}或{# # *值。}美元删除值字符串中以分隔符“干净匹配的左侧字符,保留右侧字符${价值/老/新}或{//老/新价值}用美元新子串替换值字符串中匹配的旧子串

<强> 2.2应用实例

定义变量name=odysee_odysee

计算值字符串的字符数量

echo  ${#名称},,#,输出结果,13

删除值字符串中以分隔符“干净匹配的右侧字符,保留左侧字符

#,非贪婪匹配   echo  ${名称% y *},, #,输出结果,odysee_od   #,贪婪匹配   echo  ${名称% % y *}, #,输出结果,od

删除值字符串中以分隔符“干净匹配的左侧字符,保留右侧字符

#,非贪婪匹配   echo  ${名字# * y},, #,输出结果,see_odysee   #,贪婪匹配   echo  $ {# # * y}, #,输出结果,看到

用新的子串替换值字符串中匹配的旧子串

#,非贪婪匹配   echo  ${名称/o/o}, #输出结果,Odysee_odysee      #,贪婪匹配   echo  ${名称//o/o}, #输出结果,Odysee_Odysee

<强> 3。字符串截取

<强> 3.1命令说明

示例含义${值:位置}在字符串值中,从位置位置开始提取子串(从左到右匹配)${长度值:位置:}在字符串值中,从位置位置开始提取长度为长度的子串(从左到右匹配)${值:0-OFFSET}在字符串值中,从右到左截取抵消个字符${价值:0-OFFSET:长度}在字符串值中,从右到左截取抵消个字符的前个长度

<强> 3.2应用实例

定义变量name=mynameisodysee

在字符串的名字中,从位置2开始提取子串(从左到右匹配)

echo  ${名称:2},#,输出结果,nameisodysee

在字符串的名字中,从位置2开始提取长度为4的子串(从左到右匹配)

echo  ${名称:2:4},#,输出结果,名字

在字符串的名字中,从右到左截取8个字符

echo  ${名称:主/},#,输出结果,isodysee

在字符串的名字中,从右到左截取8个字符的前两个

echo  ${名称:0-8:2},#,输出结果,是

定义变=abc12342341量字符串,以下为截取示例

echo  ${字符串:4},,,,#,从第4位开始截取后面所有字符串,输出结果:2342341   echo  ${字符串:三3},,,#,从第3位开始截取后3位面,输出结果:123   echo  ${字符串:三6},,,#从第3位开始截取后6位面,输出结果:123423,,   echo  ${字符串:4},,,#截取后4位,输出结果:2341   echo  ${字符串:(4)},,,#同上,,   expr  substr  $ string  3, 3, #从第3位开始截取后3位面,输出结果123

定义变量str=癮bcdef",以下为截取示例

expr  substr “str"美元,1,3,#,从第一个位置开始取3个字符,输出结果:abc    expr  substr “str"美元,2,5,#,从第二个位置开始取5个字符,输出结果:bcdef ,   expr  substr “str"美元,4,5,#,从第四个位置开始取5个字符,输出结果:def    echo  $ {str: 2},,,,,, #,从第二个位置开始提取字符串,输出结果:bcdef    echo  $ {str: 2:3},,,,, #,从第二个位置开始提取3个字符,输出结果:bcd    echo  $ {str:(6): 5},,, #,从倒数第二个位置向左提取字符串,输出结果:abcde    echo  $ {str:(4): 3},,, #,从倒数第二个位置向左提取6个字符,输出结果:cde

Linux使用shell脚本处理字符串的实现方法