1、提取文件后缀名使用#、##
1
2
3
4
5
6
7
8
9
|
count=1; for name in `find . -type f -iname "*" ` do new =image-$count.${name##*.} //提取后缀名 mv $name $ new let count++ done |
上面的${var##*.}表示去掉var变量的*.部分(也就是提取后缀名)两个##表示选择最短的,一个#则表示最长的。
比如一个#
1
2
3
4
5
6
7
|
var=a.b.c.d //使用#操作符 $echo ${var#*.} //得到输出 b.c.d |
1
2
3
4
5
6
7
|
var=a.b.c.d //使用##操作符 $echo ${var##*.} //得到输出 d |
2、提取文件名使用%、%%
1
2
3
4
5
6
7
8
9
|
count=1; for name in `find . -type f -iname "*" ` do new =image-$count.${name%%.*} //提取文件名 mv $name $ new let count++ done |
上面的${var%%.*}表示去掉var变量的.*部分(也就是提取文件名)两%%表示选择最短的,一个%则表示最长的
比如一个%
1
2
3
4
5
6
7
|
var=a.b.c.d //使用#操作符 $echo ${var%.*} //得到输出 a.b.c |
而两个%%
1
2
3
4
5
6
7
|
var=a.b.c.d //使用%%操作符 $echo ${var%%.*} //得到输出 a
|