热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Shell脚本统计文件行数

Shell脚本统计文件行数转自http:www.jb51.netarticle61943.htm示例:row_count.sh文件awk{printNR}row_co

Shell脚本统计文件行数

示例:row_count.sh文件

awk '{print NR}' row_count.sh | tail -n1awk 'END{print NR}' row_count.shgrep -n "" row_count.sh|awk -F: '{print '} | tail -n1sed -n '$=' row_count.shwc -l row_count.shcat row_count.sh | wc -l

一、获取指定目录所有文件的行数:

#!/bin/bash filesCount=0
linesCount
=0
function funCount()
{
for file in ` ls $1 `doif [ -d $1"/"$file ];thenfunCount $1"/"$fileelsedeclare -i fileLinesfileLines=`sed -n '$=' $1"/"$file`let linesCount=$linesCount+$fileLineslet filesCount=$filesCount+1fidone
}
if [ $# -gt 0 ];thenfor m_dir in $@dofunCount $m_dirdone
elsefunCount "."
fi
echo "filesCount = $filesCount"
echo "linesCount = $linesCount"

使用方法:

1、针对本目录

./count.sh

2、统计多个目录

./count.sh /tmp ~

二、获取指定目录特定扩展名文件的行数

#!/bin/bash

extens
=(".c" ".cpp" ".h" ".hpp")
filesCount
=0
linesCount
=0
function funCount()
{
for file in ` ls $1 `doif [ -d $1"/"$file ];thenfunCount $1"/"$fileelsefileName=$1"/"$fileEXTENSION="."${fileName##*.}echo "fileName = $fileName Extension = $EXTENSION"if [[ "${extens[@]/$EXTENSION/}" != "${extens[@]}" ]];thendeclare -i fileLinesfileLines=`sed -n '$=' $fileName`echo $fileName" : "$fileLineslet linesCount=$linesCount+$fileLineslet filesCount=$filesCount+1fifidone
}
if [ $# -gt 0 ];thenfor m_dir in $@dofunCount $m_dirdone
elsefunCount "."
fi
echo "filesCount = $filesCount"
echo "linesCount = $linesCount"

使用方法:

1、针对本目录

./count.sh

2、统计多个目录

./count.sh /tmp ~


转:https://www.cnblogs.com/fieldtianye/p/10728549.html



推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 本文详细介绍了如何在BackTrack 5中配置和启动SSH服务,确保其正常运行,并通过Windows系统成功连接。涵盖了必要的密钥生成步骤及常见问题解决方法。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文由瀚高PG实验室撰写,详细介绍了如何在PostgreSQL中创建、管理和删除模式。文章涵盖了创建模式的基本命令、public模式的特性、权限设置以及通过角色对象简化操作的方法。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有