字符串截取
1、从左边匹配,删除第一个匹配符及左边的所有字符
格式如下,匹配符可以是一个字符,也可以是一个字符串:
${变量#匹配符*}
2、从左边匹配,删除最后一个匹配符及左边的所有字符
格式如下,匹配符可以是一个字符,也可以是一个字符串:
${变量##匹配符*}
3、从右边匹配,删除第一个匹配符及右边的所有字符
格式如下,匹配符可以是一个字符,也可以是一个字符串:
${变量%匹配符*}
示例1:将备份文件全部还原
for file in $(ls *.bak);do mv $file ${file%.*};done
准备条件:将当前文件全部备份:
find ./ -type f -exec mv {} {}.bak \;
4、从右边匹配,删除最后一个匹配符及右边的所有字符
格式如下,匹配符可以是一个字符,也可以是一个字符串:
${变量%%匹配符*}
5、从左边第几个字符开始,截取指定字符个数
格式如下,第一个字符位置是0,最后一个字符位置是-1:
${变量:start:length}
6、从左边第几个字符开始,截取到最后
格式如下,第一个字符位置是0,最后一个字符位置是-1:
${变量:start}
7、从右边第几个字符开始,截取指定字符个数
格式如下,第一个字符位置是0,最后一个字符位置是-1:
${变量:0-start:length}
8、从右边第几个字符开始,截取到最后
格式如下,第一个字符位置是0,最后一个字符位置是-1:
${变量:0-start}