【发布时间】:2015-11-13 13:09:12
【问题描述】:
我需要帮助来完成重命名文件夹和脚本的脚本。
例如:我当前的文件夹和文件如下:
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
因为改了文件夹名,所以找不到下一个路径。我不知道如何让脚本从内到外运行而不是从外到内运行。
【问题讨论】: