方法一
awk '{print NR}' test1.sh|tail -n1
示例:

[root@adiislogdata164 test]# ls
front_action.log.2015-05-13-00.log
[root@adiislogdata164 test]# awk '{print NR}' front_action.log.2015-05-13-00.log | tail -n1
273736
[root@adiislogdata164 test]#

方法二
awk 'END{print NR}' test1.sh

示例:

[root@adiislogdata164 test]# ls
front_action.log.2015-05-13-00.log
[root@adiislogdata164 test]# awk 'END{print NR}' front_action.log.2015-05-13-00.log
273736
[root@adiislogdata164 test]#

方法三
grep -n "" test1.sh|awk -F: '{print '}|tail -n1
示例:

[root@adiislogdata164 test]# grep -n "" front_action.log.2015-05-13-00.log|awk -F: '{print '}|tail -n1
273736:2015-05-13 00:59:59|@183.31.247.46|@15b55bbd-df33-4a64-9838-44ffd34a23f3|@176|@1|@44|@58|@1-39|@cn020_0756_[gd_zh]|@ent.ifeng.com|@0|@0
[root@adiislogdata164 test]#

方法四
sed -n '$=' test1.sh
示例:

[root@adiislogdata164 test]# ls
front_action.log.2015-05-13-00.log
[root@adiislogdata164 test]# sed -n '$=' front_action.log.2015-05-13-00.log
273736
[root@adiislogdata164 test]#

方法五
wc -l test1.sh
示例:

[root@adiislogdata164 test]# ls
front_action.log.2015-05-13-00.log
[root@adiislogdata164 test]# wc -l front_action.log.2015-05-13-00.log
273736 front_action.log.2015-05-13-00.log
[root@adiislogdata164 test]#

方法六
cat test1.sh |wc -l

示例:

[root@adiislogdata164 test]# ls
front_action.log.2015-05-13-00.log
[root@adiislogdata164 test]# cat front_action.log.2015-05-13-00.log | wc -l
273736
[root@adiislogdata164 test]#

七、获取特定目录所有文件的行数

#!/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 ~

示例:

linux shell 统计行数的8种方法相关推荐

  1. Shell 统计行数(wc -l)

    wc -l:统计行数,原理就是统计了结果中的换行符数量. who:获取当前计算机的登录用户列表. 案例 # 这台电脑有几个用户登录了 $ who | wc -l 1# 当前目录下有几个文件夹 $ ls ...

  2. Hbase统计表的行数的3种方法

    有些时候需要我们去统计某一个hbase表的行数,由于hbase本身不支持SQL语言,只能通过其他方式实现. 可以通过一下几种方式实现hbase表的行数统计工作: 这里有一张hbase表test:tes ...

  3. linux shell对行数进行统计的方法

    本文参考了http://www.docin.com/p-56167731.html 上的例子 1.统计一个文件的行数可以用以下命令: grep -c "" xxx.txt 或 gr ...

  4. Eclipse显示代码行数的3种方法

    1. 使用快捷键: ctrl + F10 会跳出如下界面: 勾选 show line numbers 就可以了 2.点击边栏的深色区域 也会出现方法1所示的界面 3.属性设置 在Window-> ...

  5. linux shell取变量的子串26种方法实践

    ##########20150419######################### #####题目:变量a='a/b/c'如何截取得到c @@@@@@@@@@@@@@@@来自运维班21期悠久之翼整 ...

  6. Linux统计文件行数的几种方法

    几种简单统计文本行数的命令 (1) cat filename | wc -l[root@centos8-3 ~/bin]# cat test.log |wc -l 53 --------------- ...

  7. 查看 文件 行数 linux,linux查看文件行号的七种方法

    文件内容如下,要求显示文件内容对应的行号[root@gaoyang ~ 13:01:16]# cat 123.txt name:i am gaoyang birthday:19961025 what  ...

  8. linux在终端找文件,在Linux Shell上查找文件的四种方法

    众所周知,Linux是极客和开发人员最常使用的操作系统,他们大多是键盘手,并且喜欢编写命令而不是使用图形用户界面(GUI).与Windows操作系统不同,在Windows中,大多数工作只需单击几下即可 ...

  9. linux下查看线程数的几种方法

    1. cat /proc/${pid}/status 2.pstree -p ${pid} 3.top -p ${pid} 再按H   或者直接输入 top -bH -d 3 -p  ${pid} t ...

最新文章

  1. Linux (CentOS)安装VNC+XFCE可视化桌面环境 附安装FireFox浏览器
  2. 无法添加类型为“mimeMap”的重复集合项
  3. Chaincode for Operators(运营商的链码手册)
  4. TensorFlow Lite支持设备内置会话建模
  5. 某测试仪控制系统的设计方案--ARM+FPGA+NIOS
  6. 图的定义与术语 - 数据结构和算法54
  7. WPF:使用WPF应用程序中的默认网络凭据和凭据存储来管理自动登录
  8. postgreSQL 自动递增序号
  9. html前端简单页面,html网页设计:一个简单的登录界面代码!
  10. 一台阿里云ECS下的CIDI方案 最具性价比的简化DevOps自动化部署方案
  11. 基于GIS的三维智慧警务系统
  12. 5个增加设计趣味性的方法
  13. [USACO Mar08] 游荡的奶牛
  14. .com域名到期 续费期和偿还期有什么区别?
  15. Scala - 睡眠排序应用与分析
  16. 转:Qt编译 error: ‘std::tr1’ has not been declared
  17. uni-app在手机上打开背景图片不显示
  18. 凯利公式助你获得更多收益
  19. 深圳计算机维修工考试,深圳市职业技能鉴定(计算机维修工).doc
  20. Nand Flash的同步、异步、ONFI、Toggle

热门文章

  1. OpenUPF 功能分析
  2. C 语言编程 — 程序的编译流程
  3. 数据结构 — 哈希表
  4. 分布式消息队列 — RabbitMQ(3)
  5. Notepad++自用主题推荐
  6. 编程进阶,学会使用_I、_O、_IO,以及volatile const的意义
  7. NR 5G SDAP业务数据适配协议
  8. NR 5G 网络切片
  9. websocket(二):SSM+websocket的聊天室
  10. 互联网协议第六版部署提速 阿里专家详解全套安全解决方案