查找.gz文件的某些行匹配情况
来源:互联网 发布:射手 mac 字幕 编辑:程序博客网 时间:2024/06/10 21:54
查找一个压缩的.gz中是否有指定匹配某一行。
#!/bin/perl#print ("grep gz and find finish simulation line. \n");$log_gz = 'test.log.gz';print ("log of gz is $log_gz \n");open (FILE, "gunzip -c $log_gz | tail -1000 |") or die("can not open $log_gz");open (STATUS, ">status.log");$test_cnt = 0;while(<FILE>){chomp();if(/finish\sat\ssimulation\stime/){print STATUS ("$log_gz find end mark.\n");print ("$log_gz find end mark.\n");last;}$test_cnt++;print("$test_cnt \n");}close (FILE);close (STATUS);
技巧:
1,gunzip -c 不真正解压.gz文件,而是检查该文件,不会生成多余的文件。
2,使用通道技术: | tail -1000 只查找自己感兴趣的最后1000行。
3,最后一个 | 是不能少的。
4,找到了可以使用last退出while循环。
另外可以使用 zgrep “start” ./xxx.gz
调用perl脚本:
system("zgrep “start” ./xxx.gz >> out.log");
同样的也可以处理非gz文件,如果处理文本文件:使用cat命令
open (FILE, "cat $log_gz | tail -1000 |") or die("can not open $log_gz");
0 0
- 查找.gz文件的某些行匹配情况
- 关于导入Ubuntu中某些txt文件空行的情况
- Linux查找包含某些字符串文件的命令
- Linux 查找文件中匹配指定模式的行
- 海量字符串中批量查找某些匹配的字符串的方式浅析
- 如何在不解压.gz包的情况下,grep文件内容?
- find查找文件忽略某些目录
- 随机读取文件的某些行
- 某些情况下,同一份代码但生成的hex文件不一样的解决方法
- 某些无法调试的情况的解决
- 某些容易产生"invalid operator <"的情况
- 简单的文件匹配(查找文件时)
- tar.gz文件的安装
- tar.gz文件的安装
- tar.gz文件的安装
- tar.gz文件的安装
- tar.gz文件的安装
- 修改tomcat的server.xml文件后,eclipse在某些情况下会自动还原server.xml文件内容
- unity发布exe全屏方法
- Android平台多线程实现生产者-消费者模型
- MyEclipse如何汉化
- java代码优化
- 存储过程的小例子
- 查找.gz文件的某些行匹配情况
- tmux 快捷键 记录
- dfvdfv
- 如何才能提高Java Web性能?
- 对数组中含特殊符号记录过滤并分组
- 学习C/C++语言:用选择法对SIZE个整数由大到小顺序排序
- 代码中特殊的注释技术----TODO、FIXME和XXX的用处
- Java中抽象类和接口的区别
- Unity3d Console双击不再默认打开编辑器