脚本专栏 
首页 > 脚本专栏 > 浏览文章

shell 命令统计代码行数的简单代码

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

分享一个统计代码行的shell命令:

find . “(” -name “.java” -or -name “.html” -or -name “.js” -or -name “.css” “)” -print | xargs wc -l

根据不同的项目类型,不同的目录,自行修改。

如果内容多,可以:

find . “(” -name “.java” -or -name “.html” -or -name “.js” -or -name “.css” “)” -print | xargs wc -l > statistics.txt

补充:下面看下统计行数、字符数、字节数的shell脚本

在linux中,有一个常用的命令wc,可用来统计文件的行数、单词数、字符数以及字节数。

运行wc命令时,必须明确指定命令中的子文件夹的层级。

通常情况下,用于统计的文件夹,会有很多的层级,会使统计变得复杂。

本文提供的这个脚本,可以帮助我们搜索各级子文件夹,并给出每个文件夹级别的计数,并将结果存储在一个单独的文件,以供将来使用。

代码:

代码示例:

#!/bin/bash
#filename: count_lines.sh
len=$(echo $1 |awk '{print length($0)}')
len2=$(echo $2 |awk '{print length($0)}')
if [ $len -ne "0" ]
then
x="$1"
i="1"
cc=0
while [ $i -le "$len" ]
do
 echo `expr substr $1 $i 1 `
 if [ `expr substr $1 $i 1 ` = "l" ] || [ `expr substr $1 $i 1 ` = "w" ] || [ `expr substr $1 $i 1 ` = "c" ] || [ `expr substr $1 $i 1 ` = "k" ]
 then
 lengh = "length=$(echo "$1" |awk '{print length($0)}')"
 else
 cc=`expr $cc + 1`
 fi
 i=`expr $i + 1`
done
if [ $cc -eq "0" ]
then
 rm ~/count_output
 echo "=======================current Directory=========================="  count_output
 pwd  count_output
 if [ $len2 -eq "0" ]
 then
 ls -l * | wc -$1 *.* | tail -k  ~/count_output
 else
 ls -l * | wc -$1 *.$2 | tail -k  ~/count_output
 fi
 ls -R | grep './' > list
 sed "s/:/ /" list  list1
 cat list1 | while read current_dir
 do
 echo "=======================$current_dir =========================="  ~/count_output
 cd $current_dir
 if [ $len2 -eq "0" ]
 then
 ls -l * | wc -$1 *.* | tail -k  ~/count_output
 else
 ls -l * | wc -$1 *.$2 | tail -k  ~/count_output
 fi
 cd -
 done
 clear
 rm list
 rm list1
else 
print "invalid entry"
fi
else
print "input options l w c k needs to be entered"
fi

总结

以上所述是小编给大家介绍的shell 命令统计代码行数的简单代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

上一篇:Linux 删除文件夹和文件的命令(强制删除包括非空文件)
下一篇:Vim 编辑器操作汇总
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。