仅计算*.cpp和*.h类型的文件中的行

G-7*_*-71 3 c++ linux bash shell

我已经关注了bash脚本.它只计算*.cpp中的行数.如果没有pugixml.cpp,我如何计算*.h文件中的行?

find . -type f  -name \*.cpp -and ! -name \pugixml.cpp -exec cat '{}' + | wc -l
Run Code Online (Sandbox Code Playgroud)

Joh*_*ica 10

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

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

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

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