Grey
全部学习内容汇总: GreyZhang/bash_basic: my learning note about bash shell. (github.com)
1854_bash中的参数传递以及利用bash进行简单的代码行数统计
有时候需要处理多个文件,把每一个文件作为参数传递给某一个程序。这时候可以用到 xargs,而基础的linux教程中提供的wc程序,其实可以用来实现简单的代码行数的统计。
这么多年来,自己造轮子的事情没少干。比如说,实现对一个工程C代码的代码行数统计。不过,好的是我之前造好的轮子一直用了很久,而且提供了一些细节性的处理。比如说,过滤掉注释只看有效代码等功能。不过,简单的看文件的自然行数,这样的处理功能是有现成的工具可以用的。如果对于统计来说统计信息就是这样的效果,那么可能利用已有的工具来处理在很多地方都会很通用。而且,这种工具不回限定编程语言。
解决这样的问题,其实关键点在于 xargs 的使用。而这里有一份值得参考的资料: How to Use the xargs Command on Linux
这一份资料我找到的时间比较晚,其实如果早一点的话,或许find的补课也会一起免除了。
如何进行C语言代码行数的统计
在了解这样的功能之前,我其实从网络上找到了别人的使用示范进行修改后基本上实现了我的一个需求。具体如下:
find -iname '*\.c' -o -iname '*\.h' | xargs cat | wc -l
如下是代码的执行效果:
其实,wc能够统计到更多的信息。结合这里的教程信息,上面的统计可以写成这样子:
find -iname '*\.c' -o -iname '*\.h' | xargs wc
如下是执行的效果:
开卷有益,多去看看别人的成果会很受益。相比我们自己造出来的轮子,类似bash等命令带给我们的可靠与稳定等体验要好得多。