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
|