1. 程式人生 > >用shell腳本遞歸遍歷某個目錄下的所有文件並移動到某個指定的目錄中

用shell腳本遞歸遍歷某個目錄下的所有文件並移動到某個指定的目錄中

腳本 遞歸遍歷 執行 val else valid RoCE elif ive

1,先看下腳本
cat recursive.sh

#!/bin/sh
read -p "input path:" FilePath

function getAllfiles(){
for file in ls $FilePath
do
if [ -f $file ]
then
echo $file
mv $file /bak_file/
elif test -d $file
then
echo "-------------------------------->"
cd $file
FilePath=pwd
getAllfiles
cd ..
echo -e "\033[32m[############$file is a directory ....#######]\033[0m"

echo "<-------------------------------"
else
echo "$FilePath is a invalid path"
fi
done

}
cd $FilePath
getAllfiles $FilePath

2,測試,現在講/test/目錄下的所有文件都移動到/bak_file/目錄中
2.1,先查看下/test/目錄的結構
技術分享圖片
2.2,執行腳本,移動/test/目錄下的所有文件
sh recursive.sh
2.3,查看/bak_file/目錄
技術分享圖片
2.4,測試成功,完畢!

用shell腳本遞歸遍歷某個目錄下的所有文件並移動到某個指定的目錄中