标签:
# 1. 取字符串的子串, 比如说从TIME_NOW分别取出日期和时间
DATE_TODAY="${TIME_NOW:0:8}" # ${var:beg_pos:sub_str_length}, beg_pos是子串的起始位置(从0开始), sub_str_length为子串长度
TIME_TODAY="${TIME_NOW:8:6}"
# 或者
TIME_TODAY="${TIME_NOW:8}" # sub_str_length为0表示到源字符串的结尾
# 取FILE_NAME中的文件名world.txt(不包括路径), 很多童鞋会马上想到basename, 或者一些类似于正则匹配的操作
${FILE_NAME##*/} # 相当于basename ${FILE_NAME},即删除按从左至右,匹配一直到最后一个/之间的子串
${FILE_NAME%/*} # 相当与dirname, 即删除按从右至左方向开始,匹配到第一个/之间的子串
${FILE_NAME#*/} # 从左至右, 删除第一个/及左边的子串
${FILE_NAME%%/*} # 从右至左, 删除至最后一个/及右边的子串
# 2. 字符串替换
${FILE_NAME/world.txt/hello.txt} # 把第一个world.txt替换成hello.txt
${FILE_NAME//a/A} # 把所有的a替换成A
# 3. 计算字符串长度
${#FILE_NAME} # 计算FILE_NAME的长度
ARRAY=(abc defg hijklmn)
${#ARRAY} # 计算这个数组的维数
${#ARRAY[2]} # 计算这个数组第三个元素的长度
bash处理字符串
标签:
原文地址:http://www.cnblogs.com/jayzee/p/4403884.html