UNIX命令,统计当前目录(含子目录)下所有后缀为.log的文件中ERROR出现的行数
2016-12-30 18:09
696 查看
shell程序如下所示:
打印满足条件的行号的方法:
(1)在sed里面,/ERROR/表示匹配含有ERROR的行,=表示打印行号。
(2)在awk中,可以用awk '/error/{print NR}' $file,print NR表示打印满足条件的行号。
# cat xarg.txt #! /usr/bin/ksh for logfile in `find . -name "*.log*"` do echo "$logfile:" sed -n '/error/=' $logfile done files=($(find . -name "*log*")) echo "The length is ${#files[@]}" for file in ${files[@]} do echo "$file" awk '/error/{print NR}' $file done #./xarg.txt ./dir/b.log: 1 2 3 4 ./a.log: 1 3 4 The length is 2 ./dir/b.log 1 2 3 4 ./a.log 1 3 4
打印满足条件的行号的方法:
(1)在sed里面,/ERROR/表示匹配含有ERROR的行,=表示打印行号。
(2)在awk中,可以用awk '/error/{print NR}' $file,print NR表示打印满足条件的行号。
相关文章推荐
- 一段可以在UNIX下,读取当前目录下所有文件(包括子目录中的文件)的文件名的程序
- linux系统中用一条命令 查找/data目录及子目录下 内容包含 “hello” 的所有文件名称 及 所在行数
- 如何删除当前目录和子目录下的所有.log文件
- 【Unix/Linux】【命令】【文件,目录操作工具】列出所有子目录与文件——ls (ll)命令
- 使用批处理命令移动子目录下的所有文件到当前目录下,并删除子目录
- 统计当前目录下的所有文件目录大小,不显示子目录与子文件
- chmod +x *.sh 这个命令是为sh文件增加可执行权限; chmod +R 777 *.* 对当前目录下的所有子目录和子文件进行 777权限的变更;通在安装软件时复制相关文件。
- 以下命令能将当前目录下的所有目录打包成tar.gz文件
- Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?
- Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容
- php更改目录及子目录下所有的文件后缀扩展名的代码
- 如何列出当前目录下所有的JSP文件(含子目录)
- php更改目录及子目录下所有的文件后缀
- 统计指定目录下,指定后缀文件的个数及内容行数
- 用java统计一个目录(含子目录)下所有java源文件中代码行数
- [Perl]读取当前目录下的所有文件,包括子目录下的文件
- 很实用的sh脚本,【批量文件替换】【ssh远程命令执行】【统计某一目录下面所有文档总行数】等
- dir当前目录所有文件以及后缀.
- Linux下统计文件行数 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有 指定文件的总统计数。字是由空格字符
- php更改目录及子目录下所有的文件后缀的代码