#!/bin/bash
url=https://www.baidu.com:80/index.html
#注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
##变量url的字符个数
echo ${#url}
##截取从第9个字符开始到末尾(跳过8个取到最后)
echo ${url:8}
##右边第5个字符开始一直截取到最后
echo ${url:0-5}
echo ${url: -5}
#从第4个字符开始截取总共截取5个(跳过3个取5个)
echo ${url:3:5}
#从第4个字符开始一直截取到倒数6个字符(不含)(不要前3个,不要后5个只要中间部分)
echo ${url:3:0-5}
echo ${url:3:-5}
##从右边第5个字符开始,截取3个
echo ${url:0-5:3}
echo ${url: -5:3}
#从右边第5个开始取,不要最后3个(bash版本需要>=4.2)
echo ${url:0-5:0-3}
echo ${url: -5: -3}
######################################################################################
#模式匹配,根据查找到的字符串进行匹配
#从左侧开始查找第一个w字符后,删除w及其左侧字符
echo ${url#*w}
#同上,贪婪模式。从左侧开始查找到最后一个w字符后,删除w及其左侧字符
echo ${url##*w}
#从右侧开始查找第一个w字符后,删除w及其右侧字符
echo ${url%w*}
#同上,从右侧开始查找到最后一个w字符后,产出w及其右侧字符
echo ${url%%w*}
#字符串的查找、替换
echo ${url/w/w}
echo ${url//w/s}
#字符串的删除
echo ${url/w/}
echo ${url//w/}
#以http开头的查找、替换、删除
echo ${url/#http/shou111111}
echo ${url/#http/}
#以html结尾的查找、替换、删除
echo ${url/%html/shou222222}
echo ${url/%html/}
#变量值转换为大写输出,源变量仍然是小写
echo ${url^^}
URL=${url^^}
#变量值转换为小写,源变量仍然是大写
echo ${URL,,}