写了一个遍历文件目录的Linux/Unix Shell脚本

1 摘要

在整理文档的时候,通常需要有遍历文件目录的需要,作者从网上找了一些遍历文件目录的脚本,发现有一些问题,无法满足作者的需求,于是自己在其基础上做了一些修改,适配了包含空格的文件目录

2 脚本代码

folder_traverser.sh
#! /bin/bash 

## 目录遍历工具,同时过滤小于一定尺寸的文件
## 支持包含空格的文件目录  
## 可根据需要进行改装

## 目标文件目录
fileDir=/Users/ljq/Downloads/
## 文件最小尺寸(单位:kb)  
minSize=100
## (符合筛选条件的)文件总数
countFile=0
## 临时文件目录
tmpFilePath=

function readAndSelect() {
	for file in `ls "$*" | tr " " "\?"`       
    do
        file=`tr "\?" " " <<<${file}`
        tmpFilePath=$1/${file}
        if [ -d "${tmpFilePath}" ]; then
            readAndSelect "${tmpFilePath}"
        else
            fileSize=`wc -c "${tmpFilePath}" | awk '{print $1}'`
            fileSize=$[${fileSize}/1024]
            ## lt 小于,gt 大于
            if [ ${fileSize} -lt ${minSize} ]; then
                ## todo something
                
                ## eg: echo ${tmpFilePath}
                ## rm -rf "${tmpFilePath}"
            else
                ## todo something

                echo ${tmpFilePath}
                countFile=$[${countFile}+1]
            fi    
        fi
    done
}

readAndSelect ${fileDir}

echo ${countFile}

该脚本仅作为参考模板,用户可以根据自己的需求进行修改

3 推荐参考文档

使用Shell遍历目录及其子目录中的所有文件

shell中判断文件大小是否超过指定大小

解决shell脚本遍历带空格的文件/文件夹名

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值