3
我需要一個幫助來完成腳本來重命名文件夾和。linux:如何批量重命名文件夾名稱和文件夾下的文件名稱
如:我目前的文件夾和文件象下面這樣:
Gideon/gideon_lisha/Gideon_samuel/Gideon_nathan.xml
Gideon/lisha_gideon/Gideon_noah.xml
...
我想一個shell命令將它們像下面命名:
Liang/Liang_lisha/Liang_samuel/Liang_nathan.xml
Liang/lisha_Liang/Liang_noah.xml
...
我綁:
#!/bin/bash
path=$1
filename=$2
newfilename=$3
echo "We are finding '$filename' under the folder '$path'"
count=1
for i in `find $path -iname *$filename*`
do
newpath=`echo $i | sed "s/$filename/$newfilename/g"`
sudo mv "$i" "$newpath"
echo "${count}: Renaming $i to $newpath"
let count++
done
但該腳本將停止:
Liang/gideon_lisha/Gideon_samuel/Gideon_nathan.xml
因爲它改變了文件夾名稱,所以找不到下一個路徑。我不知道如何讓腳本從內部運行到外部而不是從外部運行到內部。