linux下分析多个目录和文件行数的简单shell脚本分享(毕设代码行数统计实用工具)

这篇博客分享了一个在Linux环境下分析多个目录和文件行数的简单shell脚本,适用于毕设代码行数统计。用户需创建wrodcount.sh脚本,输入统计后缀名及路径,通过命令行重定向输出结果查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用方法

1. 在自己的linux机器上新建一个wrodcount.sh,然后将下方源码copy进去

2. 执行脚本命令,然后第一个参数是要统计的后缀名,后面跟要统计的所有路径(相对绝对路径都可以)

使用方法样例

./wordcount.sh 'php' '../Tool/' '../Application/'

由于输出内容比较多,建议将输出重定向到某个文件,再查看

(不懂重定向的参考这个链接[http://www.runoob.com/linux/linux-shell-io-redirections.html]学习一下)

./wordcount.sh 'php' '../Tool/' '../Application/' > wordcount_result

源码

# wordcount
# author: linhongzhao
# describe: 脚本用于计算指定文件和指定目录下的所有文件的总行数
# usage: ./wordcount.sh [extension] [path...]
# example: ./wordcount.sh 'php' '../Tool/' '../Application/'
#!/usr/bin/env bash
total_lines=0
path_lines=0
analyse(){
    total=0
    # 指定后缀名
    extension=$1
    path=$2
    total_file_list=`find ${path} -name "*.${extension}"`
    for file in ${total_file_list}
    do
        echo -e "\tfile: "${file}
        count=`wc -l ${file}|awk -F ' ' '{print $1}'`
        echo -e "\t\tline count:"${count}
        total=`expr ${total} + ${count}`
    done
    path_lines=${total}
    total_lines=`expr ${total} + ${total_lines}`
}

extension=$1
# 指定目录
for path in $*
do
    if [ ${path} = $1 ]
    then
        continue
    fi
    echo '#############'
    echo -e "analyse path:\n\t"${path}
    analyse ${extension} ${path}
    echo 'path line count: '${path_lines}
done
echo "total line count for all path: "${total_lines}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值