批量轉換目錄大小寫問題
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】
批量轉換目錄大小寫問題