每天一个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命令:切换目录的意思 使用方法 ...
随机推荐
- 孤荷凌寒自学python第五十三天使用python写入和修改Firebase数据库中记录
孤荷凌寒自学python第五十三天使用python写入和修改Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...
- 计算机概念总结5-阿里云的了解2-slb
https://help.aliyun.com/document_detail/27539.html?spm=a2c4g.11186623.6.544.3c3c5779UdHKeO 概述 负载均衡(S ...
- 想了一天的题目QAQ 毛线数列的最值
#include <cstdio> #include <cstring> #include <cmath> #include <iostream> #i ...
- qemu中是怎么模拟的新的设备
kvm_cpu_exec 和demo中演示的一样
- Web 安全概念
Web 安全概念 Web 应用中存在很多安全风险,这些风险会被黑客利用,轻则篡改网页内容,重则窃取网站内部数据,更为严重的则是在网页中植入恶意代码,使得用户受到侵害.常见的安全漏洞如下: XSS 攻击 ...
- Nginx出现500错误解决办法
查看错误日志D:\nginx\logs\error.log 得知:Nginx配置文件中会将路径中的 \t 默认转义成 空格 改为双斜杠就可以了
- 【bzoj2662】[BeiJing wc2012]冻结 分层图Spfa
原文地址:http://www.cnblogs.com/GXZlegend 题目描述 “我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„ ...
- POJ 3974 Palindrome | 马拉车模板
给一个字符串,求最长回文字串有多长 #include<cstdio> #include<algorithm> #include<cstring> #define N ...
- 51NOD 1554 欧姆诺姆和项链 巧妙利用KMP
请戳这里! #include<cstdio> #define N 1000100 char s[N]; int n,k,nxt[N],ans[N]; int main() { scanf( ...
- 国旗计划(flag)
国旗计划(flag) 题目描述 A国正在开展一项伟大的计划--国旗计划.这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈.这项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了n名 ...