eg:
JIMY="I am a young boy"
echo ${#JIMY}
[root@mgp1 ~]# JIMY="I am a young boy"
[root@mgp1 ~]#
[root@mgp1 ~]# echo ${#JIMY}
16
同时:echo $JIMY|wc -m 也可以得到字符个数
eg:${string:2} 显示string字符串从第2个字符截取,从第三个字符开始到字符结尾的子字符串。
也可以理解为删除前面的多少个字符。
从第$position个字符开始取,取$length个字符,不包含第$position个字符值。
eg:
JIMY="I am a young boy"
echo ${JIMY:2:3}
输出结果是:
[root@mgp1 ~]# JIMY="I am a young boy"
[root@mgp1 ~]# echo ${JIMY:2}
am a young boy
[root@mgp1 ~]# echo ${JIMY:2:4}
am a
也可以通过 echo $JIMY|cut 3-4 得到相同结果
${String#substring} 从String中从开头开始删除最短匹配substring的子串
echo ${JIMY#I am}
[root@mgp1 ~]# echo ${JIMY#I am}
a young boy
${string##substring}
${String%substring} 从String中从开头开始删除最短匹配substring的子串
echo ${JIMY%young boy}
只能从结尾开始,不能删除I am字符串
[root@mgp1 ~]# echo ${JIMY%boy}
I am a young
${string/substring/replace} 使用$replace 来代替第一个匹配的substring
[root@mgp1 ~]# echo $JIMY
I am a young boy
[root@mgp1 ~]# echo ${JIMY/boy/girl}
I am a young girl
4.8 ${string/#substring/replace} 如果$string 前缀匹配$substring,就用$repace替换$substring.
[root@mgp1 ~]# echo $JIMY
I am a young boy
[root@mgp1 ~]# echo ${JIMY/#I am/You are}
You are a young boy
4.9 ${string/%substring/replace} 如果$string 后缀匹配$substring,就用$repace替换$substring.
[root@mgp1 ~]# echo $JIMY
I am a young boy
[root@mgp1 ~]# echo ${JIMY/%boy/girl}
I am a young girl
rename [option] expression replacement file
举例:
要修改的文件名为 stu_20190909_finished.jpg
将后缀改为html
rename .jpg .html *.jpg
原文:https://www.cnblogs.com/nanshanjushi/p/11544888.html