这是cloc命令的输出片段
C/C++ Header
same 0 0 42812 19019
modified 33 0 128 434
added 3 63 367 207
removed 0 105 265 479
Perl
same 0 0 0 0
modified 0 0 0 0
added 2 0 0 0
removed 0 0 0 0
-------------------------------------------------------------------------------
SUM:
same 0 0 54150 81007
modified 82 0 252 2137
added 7 184 802 1281
removed 0 234 734 1499
-------------------------------------------------------------------------------
使用Shell命令,如何仅打印82,2137(在行中修改)和7,1281(在行中添加)?我需要在“SUM:”下只打印这4个数字而忽略其余的数字.
解决方法:
如果要获取项目的两个版本之间添加/修改的文件/行的数量,可以使用cloc的XML输出正确且稳健地执行此操作:
cloc --xml --out=report.xml --diff bash-4.2.tar.gz bash-4.3.tar.gz
xmlstarlet < report.xml sel -t \
-m /diff_results/modified/total -v @sum_files -o ' ' -v @code -nl \
-m /diff_results/added/total -v @sum_files -o ' ' -v @code -nl
xmlstarlet可以以您想要的任何格式输出数字.此特定示例使用此格式(已修改的文件/行后跟添加的文件/行):
15 11157
203 6058
处理计算机可读输出而不是人类可读输出的好处是,如果cloc稍后稍微改变其输出格式,它将不会中断.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。