现在的位置: 首页 > 综合 > 正文

shell脚本遍历文件下全部子文件 shell脚本遍历目录及其下子目录

2018年01月18日 ⁄ 综合 ⁄ 共 1087字 ⁄ 字号 评论关闭

#!/bin/bash
function ergodic(){
for file in ` ls $1`
do
                if [ -d $1"/"$file#如果
file存在且是一个目录则为真

                then
                      ergodic $1"/"$file
                else
                      local path=$1"/"$file #得到文件的完整的目录
                      local name=$file       #得到文件的名字
                      #做自己的工作.
               fi

done
}
INIT_PATH="/home"
ergodic $INIT_PATH
 

shell脚本遍历目录及其下子目录

shell写了个递归遍历目录的脚本,本脚本实现递归遍历指定目录,打印目录下的文件名(全路径)。

 #!/bin/sh   
    
function scandir() {   
    local cur_dir parent_dir workdir   
    workdir=$1   
    cd ${workdir}  
 
    if [ ${workdir} = "/" ]   
    then   
        cur_dir=""   
    else   
        cur_dir=$(pwd)   
    fi   
  
   for dirlist in $(ls ${cur_dir})   
   do   
           if test -d ${dirlist}
        then   
           cd ${dirlist}   
           scandir ${cur_dir}/${dirlist}   
           cd ..   
       else   
          echo ${cur_dir}/${dirlist} 
       fi   
   done   
}   
  
if test -d $1   
then   
   scandir $1   
elif test -f $1   
    then   
        echo "you input a file but not a directory,pls reinput and try again"   
           exit 1   
    else   
           echo "the Directory isn't exist which you input,pls input a new one!!"   
           exit 1   
fi  

抱歉!评论已关闭.