仅在* .cpp和* .htypes的文件中进行计数

我已经遵循bash脚本。 它只计算* .cpp中的行数。 如何在* .h文件中计算行数,而不使用pugixml.cpp?

find . -type f -name \*.cpp -and ! -name \pugixml.cpp -exec cat '{}' + | wc -l 

使用-o查找名为*.cpp*.h ,并为优先级添加括号。 请注意,我已经删除了\pugixml-and和反斜杠,因为它们是不必要的(尽管无害)。

 find . -type f \( -name \*.cpp -o -name \*.h \) ! -name pugixml.cpp -exec cat {} + | wc -l 

你也可以减少find -exec cat {} + | wc -l find -exec cat {} + | wc -l简单地find -exec wc -l {} + 。 这将显示每个文件的统计数据以及总数。

 find . -type f \( -name \*.cpp -o -name \*.h \) ! -name pugixml.cpp -exec wc -l {} + 

听起来你真的想要sloccount 。

grep吧!
你知道,如果你只想计算* .h文件,你将自动排除pugixml.cpp

 sloccount --duplicates --wide --details . | grep -e "\.h$" 

如果你真的需要明确排除pugi:

 sloccount --duplicates --wide --details . | grep -e "\.h$" | grep -v -e 'pugixml.cpp'