用shell脚本递归遍历某个目录下的所有文件并移动到某个指定的目录中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用shell脚本递归遍历某个目录下的所有文件并移动到某个指定的目录中相关的知识,希望对你有一定的参考价值。

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 "33[32m[############$file is a directory ....#######]33[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脚本递归遍历某个目录下的所有文件并移动到某个指定的目录中的主要内容,如果未能解决你的问题,请参考以下文章

遍历某个文件夹(目录)下的所有文件

交互式shell脚本遍历文件目录下的所有文件和目录(绝对路径)

shell脚本,怎样将某个目录下的所有文件的后缀改为.bak

shell备份移动某个目录下的文件

交互式shell脚本遍历文件目录下的所有文件和目录(绝对路径)

这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件