1. 程式人生 > >批量轉換目錄大小寫問題

批量轉換目錄大小寫問題

批量轉換目錄大小寫問題

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】

批量轉換目錄大小寫問題