有时候我们想看一个文件一共多少行,比如面试官都喜欢问你的代码量是多少?(一般公司会要求应届生有10w代码量),那怎么这个项目一共多少行代码量呢?我们来看一下darknet一共多少行代码
$cd darknet/src
$find ./ -name "*c."|xargs cat|wc -l
17804
$find ./ -name "*"|xargs cat|wc -l
28900
就也就是说darknet中的.c
文件一共将近1.8w行代码,算上头文件和GPU代码一共才不到3w行的代码,这么算下来,你要想去应聘,至少要在毕业前写三个darknet……
好,我们看下这行代码是什么意思$find -name
不用说了,就是找名字为*
的文件,*代表所有文件,然后将这些文件cat出来,之后用wc统计一共多少行,为啥加了个xargs,请参考这篇博客管道命令和xargs的区别(经典解释)
如何查看不算空行的代码量呢?我们知道在linux中"^"
表示行首, "$"
表示行尾,那么"^$"
就表示空行,$grep -v
选择没有匹配到的行(Invert the sense of matching, to select non-matching lines.),所以就有以下命令
$find ./ -name "*"|xargs cat|grep -v "^$"|wc -l
25402
(END)