shell:遍历目录和子目录的所有文件及匹配文件内容到日志

过滤文件内网

#!/bin/bash
function getdir(){
    for element in `ls $1`
    do  
        dir_or_file=$1"/"$element
        if [ -d $dir_or_file ]
        then 
            getdir $dir_or_file
        else
            echo $dir_or_file
        fi  
    done
}
root_dir="/data/logs/MQ/JOB/pay_split_online/2018"
filelist=`getdir $root_dir |grep mqFailed`
for i in $filelist 
  do 
    echo $i >> /tmp/mqFailed.log
    awk -F ' ' '{print $5}' $i | awk -F '=' '{print $3}' | awk -F ',' '{print $1}' >> /tmp/mqFailed.log
done

#以下命令均不包含".",".."目录,以及"."开头的隐藏文件,如需包含,ll 需要加上 -a参数
#当前目录下文件个数,不包含子目录
ll |grep "^-"|wc -l
#当前目录下目录个数,不包含子目录
ll |grep "^d"|wc -l
#当前目录下文件个数,包含子目录
ll -R|grep "^-"|wc -l
#当前目录下目录个数,包含子目录
ll -R|grep "^d"|wc -l

 

#借鉴自他人,仅为方便以后查看

 

posted @ 2018-06-19 16:03  warren1236  阅读(3445)  评论(0编辑  收藏  举报