Shell指令如下:
获取每个文件内的代码行数,并在最后统计全部文件代码总行数(包含注释、空行)
find . -name "*.vue" -or -name "*.ts" -or -name "*.js" -or -name "*.scss" |xargs wc -l
获取每个文件内的代码行数,并在最后统计全部文件代码总行数(只包含注释,不包含空行)
// `grep -v "^$"`表示去掉空行
find . -name "*.vue" -or -name "*.ts" -or -name "*.js" -or -name "*.scss" |xargs grep -v "^$"|wc -l
-name "*.vue"表示扩展名为.vue的文件,上面的^$是正则表达式,^是以匹配开头,$是匹配结尾,所以^$是匹配一个空行
统计java文件代码行数
find . "(" -name "*.java" ")" -print | xargs wc -l
去注释
find . -name "*.java"|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc -l
上面的^\s//.$是正则表达式,其中^\s表明以空格(多个)开头,//表明是//开头的注释,“.$”表明可能以“.”结尾,这里只是去掉以//开头的注释,对于以/* */包含的注释并没有去掉。