bash脚本截取字符串的两种方法
linuxboy823 人气:0方法一:位置截取
#bin/bash STR="1234567890asdfghjkl" echo "first character ${STR:0:1}" echo "The three characters ${STR:0:3}" echo "第四个字符开始显示:${STR:3}" echo "显示第4到6个字符:${STR:3:3}" echo "显示最后1个字符:${STR:0-1}" echo "显示最后3个字符:${STR:0-3}" echo "从右边数第7个,取3个字符${STR:0-7:3}"
总结:
${STR:开始位置:截取几个字符}
开始位置0-开始是从右边数如 0-7 表示从右边数第7个
方法二,左右按照字符串截断,#从做到右 ,%从右到左。
- ${varible#string} 从左往右,删除最短的一个以string结尾的子串,即截取第一个string子串之后的字符串
- ${varible##string} 从左往右,删除最长的一个以string结尾的子串,即截取最后一个string子串之后的字符串
- ${varible%string} 从右往左,删除最短的一个以string开头的子串,即截取最后一个string子串之前的字符串
- ${varible%%string} 从右往左,删除最长的一个以string开头的子串,即截取第一个string子串之前的字符串
STR=abc123bcd456123abc777 echo ${STR#*123} #bcd456123abc777 echo ${STR##*123} #abc777 echo ${STR%123*} #abc123bcd456 echo ${STR%%123*} #abc
加载全部内容