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

所属分类: 脚本专栏 / linux shell 阅读数: 1627
收藏 0 赞 0 分享

分享一个统计代码行的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 Shell入门:掌握Linux,OS X,Unix的Shell环境

这篇文章主要介绍了linux Shell入门:掌握Linux,OS X,Unix的Shell环境 ,需要的朋友可以参考下
收藏 0 赞 0 分享

shell 1>&2 2>&1 &>filename重定向的含义和区别

这篇文章主要介绍了shell 1>&2 2>&1 &>filename重定向的含义和区别,需要的朋友可以参考下
收藏 0 赞 0 分享

ssh远程执行命令方法和Shell脚本实例

这篇文章主要介绍了ssh远程执行命令方法和Shell脚本实例,本文讲解了ssh执行远程操作方法和远程执行命令shell脚本示例,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell中的${}、##和%%使用范例

这篇文章主要介绍了Shell中的${}、##和%%使用范例,本文给出了不同情况下得到的结果,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本一次读取文件中一行的2种写法

这篇文章主要介绍了Shell脚本一次读取文件中一行的2种写法,本文还同时讲解了Shell读取文本文件的2种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本逐行读取文本文件(不改变文本格式)

这篇文章主要介绍了Shell脚本逐行读取文本文件,本文着重探讨不改变文本格式的方法读取出文件内容,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本配合iptables屏蔽来自某个国家的IP访问

这篇文章主要介绍了Shell脚本配合iptables屏蔽来自某个国家的IP访问,本文利用IPdeny的IP数据,然后用Shell脚本导入iptables实现屏蔽IP访问,需要的朋友可以参考下
收藏 0 赞 0 分享

Bash脚本内置的调试方法技巧

这篇文章主要介绍了Bash脚本内置的调试方法技巧,本文介绍了调试技巧和几个调试技巧,比如输出行号的方法、只调试某段程序的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell、Perl、Python、PHP访问 MySQL 数据库代码实例

这篇文章主要介绍了Shell、Perl、Python、PHP访问 MySQL 数据库代码实例,本文分别给出这几种语言访问Mysql数据的代码实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本计算字符串长度和判断字符串为空小技巧

这篇文章主要介绍了Shell脚本计算字符串长度和判断字符串为空小技巧,本文分别给出计算字符串长度和判断字符串为空各3种实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多