背景
一個目錄中很多有很多文件(或者文件夾),需要遍歷文件夾對文件進行操作,怎麼辦尼?
當然是用shell寫批處理腳本辣,
參考腳本
【1】遞歸打印文件名稱
切記穿入參數是絕對路徑就會輸出絕對路徑,穿入參數是相對路徑輸出相對路徑
function mvAtoa(){
for file in `ls $1 ` ;
do
echo "mv_$1/$file";## 打印文件名稱
if [ -d $1/$file ];then #如果是文件夾遞歸
mvAtoa $1/$file;
fi;
done
}
mvAtoa $1
【2】遞歸將文件名稱大寫改爲小寫
(切記父文件名最好是小寫的哦,,要不是不行的)
function mvAtoa(){
for file in `ls $1 ` ;
do
if [ `echo $1/$file | grep '[A-Z]'` ];then ## 此處主要是對文件的操作
mv $1/$file `echo $1/$file | tr ‘A-Z’ ‘a-z’`;
file=`echo $file | tr ‘A-Z’ ‘a-z’`;#重命名後更新file名
echo "mv_$1/$file";
fi;
if [ -d $1/$file ];then #如果是文件夾遞歸
mvAtoa $1/$file;
fi;
done
}
mvAtoa $1