Shell脚本统计文件行数的8种方法

Shell脚本统计文件行数的8种方法

2023年7月3日发(作者:)

Shell脚本统计⽂件⾏数的8种⽅法获取单个⽂件⾏数⽂件:⾏数:20⽅法⼀复制代码 代码如下:awk '{print NR}' |tail -n1如图所⽰:⽅法⼆复制代码 代码如下:awk 'END{print NR}' 如图所⽰:⽅法三复制代码 代码如下:grep -n "" |awk -F: '{print '}|tail -n1如图所⽰:⽅法四复制代码 代码如下:sed -n '$=' 如图所⽰:⽅法五复制代码 代码如下:wc -l 如图所⽰:⽅法六复制代码 代码如下:#cat |wc -l如图所⽰:获取特定⽬录所有⽂件的⾏数代码如下:复制代码 代码如下:#!/bin/bashfilesCount=0linesCount=0function funCount(){ for file in ` ls $1 ` do if [ -d $1"/"$file ];then funCount $1"/"$file else declare -i fileLines fileLines=`sed -n '$=' $1"/"$file` let linesCount=$linesCount+$fileLines let filesCount=$filesCount+1 fi done}if [ $# -gt 0 ];then for m_dir in $@ do funCount $m_dir doneelse funCount "."fiecho "filesCount = $filesCount"echo "linesCount = $linesCount"使⽤⽅法:1、针对本⽬录复制代码 代码如下:./2、统计多个⽬录复制代码 代码如下:./ /tmp ~运⾏效果如下:获取特定⽬录特定扩展名⽂件的⾏数代码如下:复制代码 代码如下:#!/bin/bashextens=(".c" ".cpp" ".h" ".hpp")filesCount=0linesCount=0function funCount(){ for file in ` ls $1 ` do if [ -d $1"/"$file ];then funCount $1"/"$file else fileName=$1"/"$file

EXTENSION="."${fileName##*.} echo "fileName = $fileName Extension = $EXTENSION" if [[ "${extens[@]/$EXTENSION/}" != "${extens[@]}" ]];then declare -i fileLines fileLines=`sed -n '$=' $fileName` echo $fileName" : "$fileLines let linesCount=$linesCount+$fileLines let filesCount=$filesCount+1 fi fi done}if [ $# -gt 0 ];then for m_dir in $@ do funCount $m_dir doneelse funCount "."fiecho "filesCount = $filesCount"echo "linesCount = $linesCount"使⽤⽅法:1、针对本⽬录复制代码 代码如下:./2、统计多个⽬录复制代码 代码如下:./ /tmp ~运⾏效果如下:好,就这些了,希望对你有帮助。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688384382a129993.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信