使用shell 命令怎么统计代码行数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
分享一个统计代码行的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
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.jb51.net/article/137868.htm