• shell编程--统计代码行数


            引:之前都太懒,没有及时把学到的知识总结到博客里。最近在学shell编程,正好作为养成写博客习惯的开端。平时我们都会遇到一个问题,写完一个项目后,想统计一下总的代码量,当代码文件很多时,一个个点开代码文件,然后把代码行数加起来是一件很费神的事。shell可以用短短几行代码就搞定这个问题。

    一 shell源码(code_linage.sh):

    1 #!/bin/bash
    2 
    3 if [ $# -eq 1 ] && [ -d $1 ] 
    4 then
    5     find $1 -type f -name "*.java" -print0 | xargs -0 wc -l
    6 else
    7     echo 'wrong parameter'
    8 fi

    二 shell代码分析:

    这个代码的功能是:统计一个文件夹中java代码的行数

    第1行:虽然开头是#,但是这句并不是注释,它的含义是用/bin/bash来解释这一段脚本。

    第3行:作用是判断是否只有一个参数,而且参数代表的是一个目录。$# 表示参数个数,要等于1;-d $1 是判断第一个参数是不是表示一个目录。

    第5行:是这段代码的核心部分。这一行可以分成两部分,管道命令“|” 前面的find命令功能是查找出 $1(也即第一个参数)目录下所有的java文件。        -print0 表示将这些找到的文件名用 分隔;“|” 后面的命令功能是将统计每一个文件的代码行数。xargs可以将标准输入数据转换成命令行参数,传给wc命令。-0 表示以 为分隔符, wc -l 就是代码统计行数。

    三 运行效果:

    Html_parer5是一个java项目的文件夹,每一行前面的数字表示这个java文件的代码行数,后面是文件名,最后一行是总的代码量。

    当然,如果想统计c代码,或各种其他代码的行数,可以修改下find命令中 -name 后面的匹配串即可。

  • 相关阅读:
    8月15日
    【k8s】创建 tls 类型 Secret
    使用 openssl 生成 CA 证书
    【k8s】跨 Namespace 使用 Ingress
    Windows 和 Centos 导入 CA 证书
    使用 openssl 生成服务器证书
    【k8s】nginx ingress 配置 https
    【k8s】通过 https 访问 dashboard
    1012day人口普查系统
    8.3日志
  • 原文地址:https://www.cnblogs.com/blues-harp/p/4046680.html
Copyright © 2020-2023  润新知