shell:遍歷目錄和子目錄的全部文件及匹配文件內容到日誌

過濾文件內網bash

#!/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 -lspa

 

#借鑑自他人,僅爲方便之後查看code

相關文章
相關標籤/搜索