shell 字符串操作
1.从开头(#)或结尾(%)打印不匹配的内容 str=abc12342341 echo?${str#a*c}? ? ?#表示把以字符a开头到c结束最短匹配这部分忽略掉打印:12342341 echo?${str##a*c}???##表示把以字符a开头到c结束最长匹配这部分忽略掉打印:?12342341 echo?${str##b*c}? --从开头没有匹配到全部打印:abc12342341 echo?${str%3*1}? %结尾最短匹配 ? 2.匹配并替换 ??echo ${str/23/bb}? --将包含的23字符替换为bb打印(匹配一次):?abc1bb42341 ? echo ${str//23/bb}? --将包含的23字符替换为bb打印(全部替换):?abc1bb42341 ? echo ${str/#23/xx}?--将开头的23字符替换为xx打印(匹配一次):?abc12342341 ? echo ${str/%23/xx}?--将结尾的23字符替换为xx打印(匹配一次):?abc12342341 ? 3. expr?显示匹配内容 ? ? ?string=abc12342341 ? ? ? ?expr?match?$string?‘([a-c]*[0-9]*)‘??//abc12342341? ? 从开头匹配等同expr?$string?:?‘([a-c]*[0-9]*)‘ ? ? ? ?expr?$string?:?‘([a-c]*[0-9])‘???????//abc1? ?? ? ? ? ?expr?$string?:?‘.*([0-9][0-9][0-9])‘?//341?显示括号中匹配的内容?? ? ? ? ?expr $string : ‘a(.*)1‘? ? //最长匹配a到1之间的字符:bc1234234 ? ? https://www.cnblogs.com/gaochsh/p/6901809.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |