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

shell脚本遍历目录及其下子目录,码迷,mamicode.com

时间: 2024-10-13 21:56:36

shell脚本遍历目录及其下子目录的相关文章

shell脚本第二篇——将指定目录下大于200K的文件移动到/tmp下

shell脚本第二篇--将指定目录下大于200K的文件移动到/tmp下 # vim  /tmp/files.sh #!/bin/bash #将指定目录下大于200K的文件移动到/tmp下 read  -p  "请输入您要将目录下大于200K文件移动的目录路径:" $1 for FILE in `ls  $1` do if [ -f  $FILE ] ; then if [ `ls -l $FILE | awk `{print $5}` -gt 204800 ] ; then mv  $

shell脚本中获取当前所在目录地址

shell脚本中获取当前所在目录如下 #!/bin/bash work_path=$(dirname $0) cd ${work_path} work_path=$(pwd) cd ${work_path}/src 原文地址:https://www.cnblogs.com/zhangshiwen/p/9064161.html

Shell脚本:使用rsync备份文件/目录

本文我们介绍一个shell脚本,用来使用rsync命令将你本地Linux机器上的文件/目录备份到远程Linux服务器上.使用该脚本会以交互的方式实施备份,你需要提供远程备份服务器的主机名/ip地址和文件夹位置.我们使用一个单独的列表文件,在这个文件中你需要列出要备份的文件/目录.我们添加了两个脚本,第一个脚本在每次拷贝完一个文件后询问密码(如果你启用了ssh密钥验证,那么就不会询问密码),而第二个脚本中,则只会提示一次输入密码. 我们打算备份bckup.txt,dataconfig.txt,do

备忘录AIX主机下用SHELL脚本编写FTP传某个目录下的文件到LINUX主机

$ more ftp_backup_to_remote.sh #!/usr/bin/ksh ftp -n<<! open 192.168.89.10 user oracle oracle binary cd /backup/exp/operation lcd /backup/exp prompt mput * close bye EOF

Linux之shell脚本遍历文件夹下所有文件

#!/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      

linux shell脚本遍历文件夹把md转成html

python下安装markdown模块http://www.cnblogs.com/zhoujinyi/p/3157015.html ./test.sh /data/document ======================================================= vi ./test.sh #!/bin/bash function show() { cd $1 for i in `ls` do if [ -d "$i" ] then show "

shell脚本编程的选择分支结构

选择执行结构: if语句单分支结构:如果条件为真,则执行then后的命令,否则,不做任何操作: if CONDITION :then STATEMENT fi 或 if CONDITION ; then STATEMENT1 STATEMENT2 ... fi 注意:想要执行then后面的STATEMENTS,前提条件是CONDITION部分为真: if语句的双分支结构:如果条件为真,就执行then后面的命令:否则就执行else后面的命令: if CONDITION ; then STATEME

CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方法

在windows下保存了一个脚本文件,用ssh上传到centos,添加权限执行nginx提示没有那个文件或目录.shell脚本放到/etc/init.d/目录下,再执行/etc/init.d/nginx,提示多了这句/bin/bash^M: bad interpreter.网上找了资料才知道如果这个脚本在Windows下编辑过,就有可能被转换成Windows下的dos文本格式了,这样的格式每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A.如果你将这个脚本文件直接放到Li

单台主机一键编译部署LAMP+wordpress+discuz系统的shell脚本

单台主机一键编译部署LAMP+wordpress+discuz系统的shell脚本 ? 说明: 1.shell脚本与应用程序包在同一个目录中: 2.虚拟机尽量加大CPU核数,以提高编译速度: 3.根据需要修改相应的变量,主要是安装目录.用户名.密码: 4.Mariadb的grant授权部分,需要先手动修改授权范围(@后面的内容)和密码: 5.httpd与php采用sock通讯. ? 完整的shell脚本 #!/bin/bash #*********************************