精华内容
下载资源
问答
  • 主要介绍了shell脚本递归遍历目录及子目录的例子,需要的朋友可以参考下
  • linuxshell递归遍历文件夹的实现

    千次阅读 2017-03-06 21:07:55
    实现思路就是深度优先搜索的实现思路,不过第一次在Linux下写脚本,还需要适应。比如if语句的中括号两边一定要留空格之类的。 function dfs { local now_dir now_file now_dir=$1 for now_file in $(ls ${now_...

    实现思路就是深度优先搜索的实现思路,不过第一次在Linux下写脚本,还需要适应。比如if语句的中括号两边一定要留空格之类的。

    function dfs
    {
     local now_dir now_file
     now_dir=$1
     for now_file in $(ls ${now_dir})
     do
      if [ -f $now_file ]
      then
       echo $now_file
      fi
     done
     for now_file in $(ls ${now_dir})
     do
      if [ -d $now_file ]
      then
      cd ${now_file}
      dfs ${now_dir}/${now_file}
      cd ..
      fi
     done
    }
    
    if [ -f $1 ]
    then
     echo "the input is a file"
    else
     dfs $1
    fi


    搜索结果如下:



    展开全文
  • Linux shell递归遍历目录 Linux上可以通过如下shell脚本遍历指定目录: #!/bin/bash function list_file() { local last_dir=$(pwd) if [[ $# -ne 1 ]]; then echo "usage `basename $0` <...

    Linux shell递归遍历目录

    Linux上可以通过如下shell脚本遍历指定目录:

    #!/bin/bash
    
    function list_file()
    {
        local last_dir=$(pwd)
        if [[ $# -ne 1 ]]; then
            echo "usage `basename $0` <directory> "
        fi
        
        cd $1
        for tmpfile in $(ls)
        do
            if [ -d $tmpfile ]; then
                echo "directory: $tmpfile"		
                list_file $tmpfile
            else
                echo "file: $tmpfile"
            fi
        done
        cd $last_dir
    }
    
    if [[ $# -ne 1 ]]; then
        echo "usage `basename $0` <directory> "
        exit
    fi
    
    list_file $1

    执行效果如下:

    yuxuecheng@linux:~/shellSource> ls -AlR ../bin/
    ../bin/:
    total 32
    -rwxr-xr-x 1 yuxuecheng users  277 Mar 19  2015 mklink.sh
    -rwxr-xr-x 1 yuxuecheng users 5001 Mar 19  2015 modify_ini.sh
    drwxr-xr-x 3 yuxuecheng users 4096 Mar 19  2015 test
    -rw-r--r-- 1 yuxuecheng users   72 Mar 19  2015 test.ini
    -rw-r--r-- 1 yuxuecheng users    0 Mar 18  2015 test.txt
    -rwxr-xr-x 1 yuxuecheng users  686 Mar 19  2015 unlink_symbol.sh
    -rwxr--r-- 1 root       root   902 Feb 28  2015 vm_init_para.ini
    -rw-r--r-- 1 yuxuecheng users  922 Mar 19  2015 vm_init_para.ini.temp
    
    ../bin/test:
    total 4
    drwxr-xr-x 2 yuxuecheng users 4096 Mar 19  2015 test2
    
    ../bin/test/test2:
    total 0
    yuxuecheng@linux:~/shellSource> ./list_file.sh ../bin/
    file: mklink.sh
    file: modify_ini.sh
    directory: test
    directory: test2
    file: test.ini
    file: test.txt
    file: unlink_symbol.sh
    file: vm_init_para.ini
    file: vm_init_para.ini.temp
    yuxuecheng@linux:~/shellSource> 

     

    展开全文
  • shell递归遍历目录(文件夹)的方法

    千次阅读 2019-03-17 18:01:18
    遍历所有文件,并给该文件进行重命名: #!/bin/bash function changeName(){ echo $1 #这个方法里面可以对该文件进行操作 #mv $1 test.txt #rm -r $1 } function travFolder(){ echo $1 flist=`ls $1` cd $1 ...

    遍历所有文件,并给该文件进行重命名:

    #!/bin/bash
    function changeName(){
      echo $1
      #这个方法里面可以对该文件进行操作
      #mv $1  test.txt
      #rm -r $1
    }
    function travFolder(){
      echo $1
      flist=`ls $1`
      cd $1
      #echo $flist
      for f in $flist
      do
        if test -d $f
        then
          #echo "dir:$f"
          travFolder $f
        else
          #echo "file:$f"
          changeName $f
        fi
      done
      cd ../
    }
    travFolder $1
                       
    

    脚本执行方式:

    ./脚本名.sh  wavfile/
    
    展开全文
  • #/bin/bash function recursive_list_dir(){ for file_or_dir in `ls $1` do if [ -d $1"/"$file_or_dir ] then recursive_list_dir $1"/"$file_or_dir else file=$1"/"$file_or_dir ...
    #/bin/bash 
    function recursive_list_dir(){
        for file_or_dir in `ls $1`
        do
            if [ -d $1"/"$file_or_dir ]
            then
                recursive_list_dir $1"/"$file_or_dir 
            else
                file=$1"/"$file_or_dir 
                echo $file
            fi
        done
    }
    lm_traverse_dir $1

    需要注意,传参数是文件名,结尾不要加"/"

    展开全文
  • 无图/无目录/格式错误/... 非递归遍历输出文件类型 将上面的递归调用代码删去即可。 即22行至25行。 参考文献 Emperor_Dandy: 使用Shell遍历目录及其子目录中的所有文件方法,https://www.jb51.net/article/142325.htm
  • 参考博客: shell 递归遍历目录下的所有文件并统一改名的方法 1.递归遍历目录,将所有文件的名字由大写改为小写(包括后缀) 参考代码 #!/bin/bash # 文件夹改名 function changeName(){ new=`echo $1|tr 'A-Z' ...
  • linux命令tree的简单实现,遍历指定文件夹下的所有文件
  • 遍历linux某目录下的所有文件 #!/bin/bash # $1是运行脚本时,输入的第一个参数,这里指的是使用者希望搜索的目录 # 下面的代码是对目录进行判断,如果为空则使用脚本所在的目录;否则,搜索用户输入的目录 if...
  • 利用shell脚本遍历指定路径下的所有文件   #! /bin/bash function read_dir() { for file in `ls $1` do if [ -d $1"/"$file ]; # 判断是否是目录,是目录则递归 then read_dir $1"/"$file elif ...
  • 2 #遍历文件夹及其子文件夹内所有文件,并查看各个文件大小 3 dir="/root/test" #要遍历的目录 4 5 #子函数getdir 6 function getdir() 7 { 8 for element in `ls $1` 9 do 10 file=$1"/"$elem.....
  • 1,先看下脚本cat recursive.sh #!/bin/shread -p "input path:" FilePath function getAllfiles(){for file in ls $FilePathdoif [ -f $file ]thenecho $filemv $file /bak_file/elif test -d $filethenecho "-----...
  • 今天早上在地铁上看了关于文件和文件夹的一章,正好最近刚搞懂linux的文件系统,觉得对文件属性的访问跟Shell命令很像,所以想晚上来实践一下。 发现php的文件夹函数好像没有提供遍历文件夹下的所有文件(包括子目录...
  • do clean `basename $d` 0 done References SHELL递归遍历文件夹下所有文件 rm 使用正则表达式 删除文件 shell|rm 使用正则表达式过滤出要删除的文件 Linux Shell 只列出目录的方法 Linux shell 之 提取文件名和...
  • shell递归遍历目录

    千次阅读 2017-07-09 18:31:28
    shell 目录遍历 递归
  • 遇到一道题目,如何把某个目录下的每个文件统一在名字前加上”abc”,用shell实现首先分析,一个目录下除了文件,还可能存在目录,这里可以看出需要有递归操作,如果是文件直接改名,目录则进入然后进行遍历 ...
  • 主要介绍了Shell脚本实现递归删除空文件夹,本文直接给出实现代码,需要的朋友可以参考下
  • #!/bin/bash echo "###################################################################" echo "# Preparing to Recursively modify files in the folder" echo "#############################################
  • shell脚本递归遍历特定文件夹找到.h后缀文件拷贝到指定文件夹 话不多说上代码 #! /bin/bash function Copy_H_File_To_PrjInclude() { for file in `ls $1` do if [ -d $1"/"$file ];then # 判断是否是目录,是...
  • 最近博客进行了搬家,CDN源发生改变,想着在CDN上将博客所有图片刷新预热一遍,那么问题来了,刷新预热需要得到所有图片地址,于是直接使用Shell脚本递归遍历wp-content/uploads目录先得到图片文件路径,说干咱就干...
  • #!/bin/bash # Change the filename extensions of all files in the directory $1 from $2 to $3 find $1 -name "*.$2" | sed "s/.$2\$//g" | xargs -i -t mv {}.$2 {}.$3 xargs -i: 替换{} -t: verbose
  • 且文件夹层级很多,不可能实现手动一个一个文件夹删除,所以就考虑写一个shell文件来循环遍历,找出所有的隐藏文件,然后删除! 1、循环遍历 既然要循环查找文件,首先要实现的功能肯定是遍历目录,这个功能的代码不...
  • Shell遍历整个目录查找某个关键字

    万次阅读 2016-04-26 15:46:26
    经常会拍碰到需要遍历整个目录中的文件,查找是否包含某个关键字的情况。 比如说,我需要在/etc目录下查找是否有 /bin/bash关键字,来确定是通用的Bash还是CSH,KSH等,这个时候,就要用到find和grep关键字,通用的...
  • 1 我们都知道shell脚本能够做很多的事,今天刚好一个队友要我写个脚本求某个目录下所有java文件的行数总和 2 ok,为了方便,我把这个目录放到了当前的家目录下,路径为/home/chenguolin/src 3 我在家目录下建了一...
  • /bin/bash #print the directory and file hadoop fs -ls /data/abc/flink/ttengine_predict/dt=2017-12-27/ | awk '{print $8}' > files0.txt #循环遍历,提取所需数据 cat ./files0.txt | while read line do ...
  • shell编程:递归遍历目录下的所有文件并统一改名 demo(遍历文件,提取出所有IP地址,包括10.*.*.*这种) #!/bin/bash function searchTarget(){ cat $1| grep -aPo '(2[0-4]\d|25[0-5]|[01]\d\d|\d\d|\d)\.(2[0-...
  • 主要是显示输入的路径下所有的文件,采用的是递归方式访问文件夹下所有文件。 二、脚本内容说明 1、Shell脚本文件名称为showfile.sh 2、showfile.sh的内容如下 #!/usr/bin/ksh #此函数用于循环输出目录文件...
  • // linux递归遍历指定目录,但是因为是深度优先遍历,如果目录
  • ![本人编写的代码,但是结果不对](https://img-ask.csdn.net/upload/201712/05/1512474537_598101.png)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,613
精华内容 3,845
关键字:

linuxshell递归遍历

linux 订阅