案例:将金额18.中的点去掉,结果为18
#!/bin/sh
old_value=18. new_value=`echo ${old_value%%.*}` echo $new_value
${filename##*.}是什么意思呢?
在 ${ } 中输入变量名称,两个##(或一个#),然后是通配符 ("*.")。
1.#意思是从字符串的开始字符开始匹配,删除匹配部分。
2.两个##代表匹配的最大长度,一个#代表匹配的最小长度(也就是说这里不是一个#匹配一个‘.’)
// 获取后缀名tar.gz filename=testfile.tar.gz file=${filename#*.} echo $file
// 获取后缀名gz filename=testfile.tar.gz file=${filename##*.} echo $file
${filename%%*.}是什么意思呢?
在 ${ } 中输入变量名称,两个%%(或一个%),然后是通配符 (".*")。
//截取testfile.tar filename=testfile.tar.gz file=${filename%.*} echo $file
//截取testfile filename=testfile.tar.gz file=${filename%%.*} echo $file
截取任意的字符
//截取file filename=testfile.tar.gz file=${filename:4:4} echo $file
// 截取test filename=testfile.tar.gz file=${filename:0:4} echo $file
参考文档:
原文:https://www.cnblogs.com/badboy200800/p/10561939.html