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 |
本文介绍如何使用Shell脚本批量重命名文件,包括提取文件名和后缀名的方法,并提供实际使用的脚本示例。
397

被折叠的 条评论
为什么被折叠?



