[Linux Shell]批量更改文件&文件夹 名大写为小写-linux修改文件名

[Linux Shell]批量更改文件&文件夹 名大写为小写-linux修改文件名

日常维护中 linux 下文件包含大写或者小写字母操作起来有点麻烦,在网上或者实践中不断摸索特意写了这个脚本用了批量修改文件。

脚本如下:

#! /bin/sh

#此FOR循环修改文件夹中大小写

DIR=/FilePath (文件路径)

for FOLDER in $DIR

do

if [ -d "$FOLDER" ]; then

A=`echo $FOLDER|tr [A-Z] [a-z]`

if [ "$A" != "$FOLDER" ]; then

echo "发现 [ $FOLDER ] 文件夹有大写字母...进行小写转换 "

mv $FOLDER $A

fi

fi

done

#此FOR循环修改文件中大小写

for FILE in $DIR

do

if [ -f "$FILE" ]; then

B=`echo $FILE|tr [A-Z] [a-z]`

if [ "$B" != "$FILE" ]; then

echo "发现 [ $FILE ] 文件有大写字母...进行小写转换 "

rename $FILE $B *

fi

fi

done

有一点很确定就是文件夹或者文件中包含有空格的情况下无法修改或者有更简单的脚本方式来修改,不过其他方式修改暂时还没有想到,今天就先发这个脚本给大家分享,如果你有更好的方式谢谢分享出来一起学习吧,请大神勿喷我平时也在学习中,能力有限学到的知识和应用中的和大家分享一下。

推荐阅读