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}
该脚本仅作为参考模板,用户可以根据自己的需求进行修改