方法一:位置截取
#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
到此这篇关于bash脚本截取字符串的两种方法的文章就介绍到这了,更多相关bash 截取字符串内容请搜索aitechtogether.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持aitechtogether.com!