zoukankan      html  css  js  c++  java
  • 统计脚本代码行数

    #!/bin/bash
    
    #统计当前文件夹(包括子文件夹)下.sh脚本有效代码行数,不包括注释,和空行
    
    #所有行
    MY_LIST_VAR=`egrep -c -h -R --include="*.sh" ^.*$`
    #echo $MY_VAR
    MY_ALL_COUNT=0
    #所有空行
    MY_LIST_SPACE_VAR=`egrep -c -h -R ^$ --include="*.sh"`
    #echo $MY_LIST_SPACE_VAR
    MY_ALL_SPACE_COUNT=0
    
    #所有注释行
    MY_LIST_COMMENT_VAR=`egrep -c -h -R "^#[^!]" --include="*.sh"`
    #echo $MY_LIST_COMMENT_VAR
    MY_ALL_COMMENT_COUNT=0
    
    for loop in $MY_LIST_VAR 
    do
        MY_ALL_COUNT=`expr $MY_ALL_COUNT + $loop`
    done
    for loop in $MY_LIST_SPACE_VAR 
    do
        MY_ALL_SPACE_COUNT=`expr $MY_ALL_SPACE_COUNT + $loop`
    done
    for loop in $MY_LIST_COMMENT_VAR 
    do
        MY_ALL_COMMENT_COUNT=`expr $MY_ALL_COMMENT_COUNT + $loop`
    done
    echo `expr $MY_ALL_COUNT -  $MY_ALL_COMMENT_COUNT - $MY_ALL_SPACE_COUNT`
    Grep参数
    -c          只输出匹配行的计数。
    -I          不区分大小写(只适用于单字符)。
    -h          查询多文件时不显示文件名。
    -l          查询多文件时只输出包含匹配字符的文件名。
    -n          显示匹配行及行号。
    -s          不显示不存在或无匹配文本的错误信息。
    -v          显示不包含匹配文本的所有行。
  • 相关阅读:
    LRU算法实现 最近最久未使用
    快速排序
    redis 常用命令
    实例:接口并发限流RateLimiter
    Hadoop伪分布式安装
    ssl免密登录(centos6)
    Linux下安装jdk-7u67-linux-x64.rpm
    Mosquitto安装和使用
    MQTT linux centOS7 部署
    CentOS更换yum源
  • 原文地址:https://www.cnblogs.com/xiangtingshen/p/12010322.html
Copyright © 2011-2022 走看看