如何计算多个项目中具有多个扩展名的文件行数,并将这些信息放入文件中?
find Project1 Project2 -type f ( -iname *.cpp -o -iname *.h ) -print0 | xargs -0 wc -l > LineCounter.txt 2>&1
对于bash
,您可以简单地:
shopt -s extglob #best in your ~/.profile
wc -l {Project,OtherProject}/**/*.{cpp,h} > LineCounter.txt
则CCD_ 2将递归地展开。限制:对于大型树,可能以"Arg计数过长"错误消息结束。
或不区分大小写的
shopt -s extglob nocaseglob
wc -l {Project,OtherProject}/**/*.{cpp,h} > LineCounter.txt
此外,有时缺少文件最后一行的n
。在这种情况下,wc
会少报1行。您可以使用grep
进行计数(比wc
慢一点),如:
grep -c '' files...
统计的行数
grep -c '.' files...
统计非空行的数量,其中至少包含一个字符(也有空格)
grep -c '[^ ]' files...
计算真正不为空的行,例如,只计算包含一些非空格字符的行,依此类推…