awk实现文本文件的抓取
来源:互联网 发布:mac 安装git 环境 编辑:程序博客网 时间:2024/05/18 19:47
=============================================================================
grep -h -s -E 'HUAWEI_900086000042331834|BAIDU_3266643378' /data/stat2/Log/LogStat_2017-05-17_000.log
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-s 不显示错误信息
-E 意思是条件中是一个正则表达式,上例中搜索包含HUAWEI_900086000042331834或BAIDU_3266643378的信息
awk 'END{ print NR }' /data/stat2/Log/LogStat_2017-05-17_000.log
打印每一行的第二和第三个字段
awk '{ print $2,$3 }' filename
awk -F "," '{OFS=",";if($2>1036) print $1,$2}' /data/stat2/Log/LogStat_2017-05-17_000.log
将源文件/data/stat2/Log/LogStat_2017-05-17_000.log按照 , 分割 当每一行第二个字段大于1036时,输出第一个字段,和第二个字段 输出时按照 , 分割
-F "," 将源文件按照 , 分割
{} 括号内多个命令按照 分号 分割
OFS="," 显示文件按照 , 分割 如果不写默认按照 空格 分割显示
if($2>1036) 判断函数 当第二个字段大于1036时,执行之后的语句
if(表达式) 语句1 else 语句2
或者 if(表达式) {语句1} else if(表达式) {语句2} else {语句3}
print $1,$2 print输出函数 默认输出在控制台
$n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。
grep和awk整合
grep -h -s -E 'HUAWEI_900086000042331834|BAIDU_3266643378' /data/stat2/Log/test/LogStat_2017-05-17_000.log | awk -F "," '{OFS=",";if($2>1003) print $0}'
第一个grep的结果作为awk的分析文本 然后结果默认是显示在控制台
> 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留
>> 是把输出附向到文件的后面,文件原内容会保留下来
grep -h -s -E 'HUAWEI_900086000042331834|BAIDU_3266643378' /data/stat2/Log/test/LogStat_2017-05-17_000.log | awk -F "," '{OFS=",";if($6<1002) print $0}' >> /data/stat2/Log/test/test.txt
grep -h -s -E 'HUAWEI_900086000042331834|BAIDU_3266643378' /data/stat2/Log/LogStat_2017-05-17_000.log
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-s 不显示错误信息
-E 意思是条件中是一个正则表达式,上例中搜索包含HUAWEI_900086000042331834或BAIDU_3266643378的信息
=============================================================================
awk 'END{ print NR }' /data/stat2/Log/LogStat_2017-05-17_000.log
打印每一行的第二和第三个字段
awk '{ print $2,$3 }' filename
awk -F "," '{OFS=",";if($2>1036) print $1,$2}' /data/stat2/Log/LogStat_2017-05-17_000.log
将源文件/data/stat2/Log/LogStat_2017-05-17_000.log按照 , 分割 当每一行第二个字段大于1036时,输出第一个字段,和第二个字段 输出时按照 , 分割
-F "," 将源文件按照 , 分割
{} 括号内多个命令按照 分号 分割
OFS="," 显示文件按照 , 分割 如果不写默认按照 空格 分割显示
if($2>1036) 判断函数 当第二个字段大于1036时,执行之后的语句
if(表达式) 语句1 else 语句2
或者 if(表达式) {语句1} else if(表达式) {语句2} else {语句3}
print $1,$2 print输出函数 默认输出在控制台
$n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。
$0 这个变量包含执行过程中当前行的文本内容。
grep和awk整合
grep -h -s -E 'HUAWEI_900086000042331834|BAIDU_3266643378' /data/stat2/Log/test/LogStat_2017-05-17_000.log | awk -F "," '{OFS=",";if($2>1003) print $0}'
第一个grep的结果作为awk的分析文本 然后结果默认是显示在控制台
=============================================================================
> 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留
>> 是把输出附向到文件的后面,文件原内容会保留下来
grep -h -s -E 'HUAWEI_900086000042331834|BAIDU_3266643378' /data/stat2/Log/test/LogStat_2017-05-17_000.log | awk -F "," '{OFS=",";if($6<1002) print $0}' >> /data/stat2/Log/test/test.txt
阅读全文
1 0
- awk实现文本文件的抓取
- 文本文件迭代器的实现
- 文本文件字符串的截取(linux下AWK的使用)
- 通过awk对文本文件的单词出现次数进行排序
- 文本文件转二进制文件的实现
- Python实现文本文件的合并
- awk 删除文本文件换行符
- awk中抓取IP地址
- 屏幕抓取的简单实现
- sed直接替换文本文件(sed与awk是正则表达的俩大神器)
- 用sed或awk打印文本文件的奇数行和偶数行
- 写数据到文本文件的实现之一
- 用java实现文本文件内容的倒序
- java实现获取文本文件的编码格式
- QTP-实现对文本文件的读写
- C++实现文本文件的追加呢
- PHP通过header实现文本文件的下载
- GzipStream 实现文本文件的(压缩--解压)
- 欢呼声热烈 谷歌宣布 Kotlin 成 Android 开发一级语言
- mybatis 参数类型--不完整//与特殊符号# | $
- hive配置mysql连接,配置java连接用户名密码,配置自定义类验证用户名密码
- Effective java-并发 笔记
- [易飞]影响成本码含义与运用
- awk实现文本文件的抓取
- 新路程------hi3516a uboot更换spi flash(2)
- 【我的知识小屋】知识库
- test
- 程序员面试金典——回文链表
- [攻克存储] 掌握SDRAM/DDR的结构与寻址
- c++string函数详解
- 时间戳
- PermissionsDispatcher库的使用(简单处理Android 6.0系统中的运行时权限的开源库)