本文共 1289 字,大约阅读时间需要 4 分钟。
字符串切片: ${var:offset:number} #offset表示从哪个字符开始,number表示取几个字符 url=www.baidu.com echo ${url:4:5} -> baidu echo ${url:4} ->baidu.com ${var: -number} #表示从右往左取几个字符,注意” - “前面必须有空格 基于模式的取串: ${var#*word} #表示从左至右,删除到第一个被word匹配字符中间所有的字符串 url=www.baidu.com echo ${url#*.} ->baidu.com ${var##*word} #表示从左至右,删除到最后一个被word匹配字符中间所有的字符串 url=www.baidu.com echo ${url##*.} ->com ${var%word*} #表示自右往左,删除到第一个匹配word的字符串 path=’/etc/selinux/config’ echo ${path%/*} -> /etc/selinux #取路径名 ${var%%word*} #表示自右往左,删除到最后一个匹配word的字符串 查找替换: ${var/pattern/substr} #表示将被pattern第一次匹配的字符替换为substr url=www.baidu.com echo ${url/www/mail} ->mail.baidu.com ${var//pattern/substr} #表示此行中所有被pattern匹配的字符都替换为subtr url=www.baidu.com.cc echo=${url//./_} ->www_baidu_com_cc ${var/#pattern/substr} #行首锚定,只匹配出现在行首的字符 ${var/%pattern/substr} #行位锚定,只匹配出现在行尾的字符 字符删除: ${var/pattern} #删除第一次被pattern匹配的字符 ${var//pattern} #删除整行所有被pattern匹配的字符 ${var/#pattern} #删除行首被pattern匹配的字符 ${var/%pattern} #删除行尾被pattern匹配的字符
转载于:https://blog.51cto.com/jying/2109306