针对该需求,网上大多是使用rename来实现改变文件名来达到大小写转换的需求
但是我试了几次没有成功
网上的案例是这样的:
rename 's/A-Z/a-z/' *
我试了行不通。
琢磨了一下写出下面这个脚本;
#!/bin/bash
dir="./";
files=`find $dir -type f`;
for file in $files
do
dir_name=`dirname $file`;
ori_filename=`basename $file`;
new_filename=`echo $ori_filename|tr 'A-Z' 'a-z'`>/dev/null;
mv $dir_name/$ori_filename $dir_name/$new_filename
done
脚本整体思路:
全路径遍历目录下的文件名称,然后使用mv更改文件名称
大写与小写转换改变’a-z’ ‘A-Z’ 的顺序就可以
关于脚本里面牵涉的几个命令用法介绍
点击跳转到使用方法:basename命令及dirname命令使用