统计指定目录下指定类型文件的行数
程序员文章站
2022-03-10 11:36:25
...
需求:通知指定项目下面指定类型文件(java、properties、xml等)的行数
关键代码:
#!/bin/bash
#统计指定目录下面指定类型文件的行数
targetDirFile=$1;
fileType="*."$2;
totalLines=0;
while read line
do
let count=$(find $line -type f -name "$fileType" | xargs cat | wc -l);
let totalLines=$totalLines+$count;
done < $targetDirFile
echo "total lines of type file $fileType in fileDir : $targetDirFile is : $totalLines";
参数说明:
1、第一个参数为一个文件,文件里面列出了待查找的目录,每一行一个目录
2、第二个参数是需要查找的文件类型:java、properties、xml等
测试运行:
/home/yangjianzhou/document/shell/./countLineOfTypeFile fileDir properties
测试结果:
total lines of type file *.properties in fileDir : fileDir is : 180
可以利用:find . -type f -name '*.properties' | xargs cat | wc -l 来进行验证