共计 567 个字符,预计需要花费 2 分钟才能阅读完成。
场景一
给这些文件都加上 .png
后缀
#!/bin/bash
for i in *;
do
mv "$i" "$i.png";
done
场景二
给某些文件按某种规定重命名, 如依照 1,2,3,4.. 命名, 保留原格局
cd image
declare -i j=1
for i in * ;
do
#echo $i;
x=${i##*.}
#echo $j.$x
mv "$i" "$j.$x";
j+=1
done
注:
- Shell 中实现整数自增的几种办法示例, 此处用于申明是数字类型的
declare -i
必须增加, 否则会认为是字符串; 必须 j +=1, 而不能用 j ++, 否则后果会为拼接字符串 - shell 获取文件扩展名
场景三
删除某些反复文件; 如下图, 想将所有带 (x) 的全副删掉
#!/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 如何判断某个文件名以某个字符结尾
本文由 mdnice 多平台公布
正文完