Ste*_*eve 34
这是使用find和的一种方式tr:
for i in $(find . -type f -name "*[A-Z]*"); do mv "$i" "$(echo $i | tr A-Z a-z)"; done
Run Code Online (Sandbox Code Playgroud)
编辑; 添加:-name "*[A-Z]*"
这确保仅找到具有大写字母的文件.例如,如果找到只有小写字母的文件并将其移动到同一文件,mv则会显示are the same file错误.
And*_*oss 10
Perl有一个lc()可以更好地运行语言环境的功能:
find . -type f | perl -n -e 'chomp; system("mv", $_, lc($_))'
Run Code Online (Sandbox Code Playgroud)
请注意,此脚本处理文件名中的空格,但不处理换行符.并且没有防止冲突的保护,如果你有"ASDF.txt"和"asdf.txt",你将会受到破坏.