场景一

图

给这些文件都加上.torrent后缀

1
2
3
4
5
#!/bin/bash
for i in *;
do
mv "$i" "$i.torrent";
done

图


场景二

给某些文件按某种规则重命名,如按照1,2,3,4..命名,保留原格式

图

图

1
2
3
4
5
6
7
8
9
10
11
12
cd image

declare -i j=1
for i in * ;
do
#echo $i;
x=${i##*.}
#echo $j.$x
mv "$i" "$j.$x";
j+=1

done

图

注:


场景三

删除某些重复文件;如下图,想将所有带(x)的全部删掉

图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
for i in * ;
do
#echo ${i:1:2}; #最常用的字符串截取方法,输出前两个字符
if [[ $i =~ '(' ]]
then
echo $i;
rm "$i";

#如果用rm $i会分为两部分:
#ia_800000110 (2).jpg
#rm: ia_800000110: No such file or directory
#rm: (2).jpg: No such file or directory
fi
done

图

参考:

Shell判断字符串是否包含小结

Shell处理带空格的文件名的方法

shell 如何判断某个文件名以某个字符开头