批量转换目录大小写问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量转换目录大小写问题相关的知识,希望对你有一定的参考价值。
1、根据需求,需要将某一目录下递归的所有大些字母转换成小写字符2、代码如下
read -p "输入你要改变的父目录:" dire #读入目录
ls -lR $dire | grep / |awk -F : '{print $1}' > 2.txt #写入文件,以备校对
aa=`cat 2.txt | sort -r` #排序,生成倒序最底层目 录在最下方
for i in $aa #循环
do
dd=`echo $i|awk -F / '{print $NF}'` #按/查询字段数,截取最后目录
sss=`echo $i|awk -F $dd '{print NF}'` #获取字段数
if [ $sss -gt 2 ];then #判断目录有无出现与最后目录一样的字段【以最后目录做切割】
echo $sss #输出以最后目录做分割的截取数不等于2的,【即有重复的】
echo $i #输出重复目录
echo #换行
else
directory=`echo $i|awk -F $dd '{print $1}'` #截取除最后目录外其他目录
mv $i $directory`echo $dd | tr 'A-Z' 'a-z' ` #更改目录为小写【小写转大些,将tr后面颠倒即可】
fi
done
ls -lR $dire | grep / |awk -F : '{print $1}' > 3.txt #更改之后的目录,查看效果【cat 3.txt】
以上是关于批量转换目录大小写问题的主要内容,如果未能解决你的问题,请参考以下文章