shell递归遍历文件夹中的指定文件

文章目录

代码

#!/bin/bash

walk_dir () {    
    # nullglob 如果设置,bash允许没有匹配任何文件的文件名模式扩展成一个空串,而不是它们本身
    # noglob -d 禁止用路径名扩展。即关闭通配符。
    shopt -s nullglob dotglob

    for pathname in "$1"/*; do
        # 判断是否为文件夹
        if [ -d "$pathname" ]; then
            # 递归调用遍历子目录
            walk_dir "$pathname"
        else
        	# 输出想要的文件
            case "$pathname" in
                *.txt|*.ipynb)
                    printf '%s\n' "$pathname" 
                    # 实现自己的需求 
            esac
        fi
    done
}

DOWNLOADING_DIR=/root

walk_dir "$DOWNLOADING_DIR"


版权声明:本文为wangrui1605原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。