每天一个liunx命令3之awk实现文本文件的抓取
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
每天一个liunx命令3之awk实现文本文件的抓取的更多相关文章
- 每天一个liunx命令10之nohup和xargs
1上传jar包到服务器/edgewalk/springboot/下 2编写启动脚本start.sh #!/bin/sh APP_HOME=/edgewalk/springboot cd $APP_HO ...
- 每天一个liunx命令4之 ps -ef ,ps -aux ,ps aux
1ps aux和ps –aux 请注意"ps -aux"不同于"ps aux".POSIX和UNIX的标准要求"ps -aux"打印用户名为 ...
- 每天一个liunx命令(ubuntu)
解压XXX.gz到另一个A文化夹: 1.切换到root权限 su 2.tar -zxvf XXX.gz -C A 注意: C要大些因为ubuntu区分大小写
- 每天一个liunx命令2之rz和sz命令
1安装命令工具包 yum install lrzsz 2sz命令发送文件到本地(send): sz filename 3rz命令本地上传文件到服务器(receive): rz 执行该命令后 ...
- 【Spider】使用命令行启动时,能正常抓取,但是在pycharm直接运行不能保存数据
通过cmd 运行命令scrapy crawl [爬虫名称]可以正常运行,并把数据保存到json文件和下载爬取的图片 但是在项目的spiders目录下的 firstTestSpider.py文件里添加: ...
- 一个我经常用到的采集网页数据抓取网页获取数据的PHP函数类
class get_c_str { var $str; var $start_str; var $end_str; var $start_pos; var $end_pos; var $c_str_l ...
- jmeter从上一个请求使用正则表达式抓取Set-Cookie值,在下一个请求中运用
工作中遇到的问题,登录请求,返回的Response Headers中有个参数Set-Cookie,需要抓取这个参数,运用到下一个请求中,见下图: 通过正则表达式抓取Set-Cookie的值,由于该值存 ...
- Linux查找命令:grep,awk,sed
grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具 ...
- 50条常用liunx命令整理
1.pwd命令 :确定自己在那个目录 使用方法:在liunx命令输入框里面输入pwd,自动就会显示出自己现在在那个目录下 操作截图: 此时正处在root目录里面 2.cd命令:切换目录的意思 使用方法 ...
随机推荐
- ASP NET Core 部署 IIS 和发布
1. 微软官网原文链接: https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore- ...
- 蓝桥杯_风险度量_dfs_无向图两节点间的所有路径
标题:风险度量 X星系的的防卫体系包含 n 个空间站.这 n 个空间站间有 m 条通信链路,构成通信网.两个空间站间可能直接通信,也可能通过其它空间站中转. 对于两个站点x和y (x != y), 如 ...
- 软工实践 - 第十三次作业 Alpha 冲刺 (4/10)
队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/9980005.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去 ...
- tomcat调优(Mark)
http://blog.csdn.net/jinwanmeng/article/details/7756591
- log4j的各种类的配置
log4j看上去像是一种简单的,易配置的日志打印技术.但是实际使用的时候发现,还有各种很相似的日志技术.很多地方的配置一乱就不知道怎么对应了.所以应该把log4j的一切做个简单的分类记录. (一)ja ...
- [hdu6437]Problem L. Videos
题目大意:有$n$个小时,有$m$个节目(每种节目都有类型$0/1$),有$k$个人,一个人连续看相同类型的节目会扣$w$快乐值. 每一种节目有都一个播放区间$[l,r]$.每个人同一时间只能看一个节 ...
- JS设置、获取DOM自定义属性
jQuery方式 // 获取 $('#test').attr('mydata'); // 设置 $('#test').attr('mydata','data-content'); // 移除 $('# ...
- Greedy Gift Givers
Greedy Gift Givers A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange gifts ...
- java8 获取对象中满足条件的金额之和
记录一个小笔记:获取一个对象中,支付成功的金额之和: Long sum = list.stream().filter(o -> o.getStatus() == SUCCESS).mapToLo ...
- mac 安装 mysql 配置
前言:下面主要介绍2种安装方法以及后续的配置,希望对大家有帮助.(推荐通过安装包的形式安装) 1. 使用安装包安装 mysql 双击打开安装文件 双击pkg文件安装 一 ...