awk工具-解析1

awk处理方式:

1.行处理机制,每次处理一行,跟sed很相近,但是awk还能够对每行进行切片处理

基本格式:

awk [options]  ‘command‘ file(s)

command:pattern {awk 操作命令}两部分组成

pattern:正则表达式,逻辑表达式

awk操作指令是用{ }代表代码段:

操作指令:print(), printf()

控制指令:if(){... } else{...},while(){...}

awk内置参数应用:

awk内置变量1:

$0 代表整行

$1代表第一个字段

$2代表第二个字段

awk内置参数:分隔符

option:-F(默认为空格)

awk -F ‘:‘  ‘{print $3}‘ passwd

如果想同时打两个字段: 有两种方式(中间加,或者打印空格)

awk -F ‘:‘  ‘{print  $1,$3}‘ passwd

awk -F ‘:‘  ‘{print $1"  " $3}‘ passwd

可以增加说明字段:

awk -F ‘:‘ ‘{print "USER" $1}‘ passwd

内置变量2:

NR :行号

NF:每行的字节总数

awk -F ‘:‘ ‘{print  NR,NF}‘ passwd

例子:显示passwd每行的行号,每行的列数,以及用户名(用print和printf两种方式)

awk -F ‘:‘ ‘{print "Line: " NR,"Column :" NF,"User:" $1}‘ passwd

因为printf是函数,则按照函数输出来写:

awk -F ‘:‘ ‘{printf("Line:  %s  Column :  %s User: %s\n",NR,NF,$1)}‘ passwd

要有换行

例子2:显示passwd中用户ID大于100的行号和用户名(if ...else...)

awk -F ‘:‘ ‘{if($3>100) print "Line: " NR,"User:" $1}‘  passwd

例子3:在服务器log中找出ERROR的错误时间信息,一般是第一字段

这时候首先找出ERROR出现的行,在打印第一字段

sed -n ‘ /ERROR/p‘  log名字 |awk  ‘{ print $1}‘

还可以:

awk ‘/ERROR/{print $1}‘ log名字  先用正则定位在打印

时间: 2024-10-01 06:24:05

awk工具-解析1的相关文章

Linux文本处理工具AWK使用解析

在linux系统上有三大文本处理工具分别是:grep,sed,awk,这次主要来看看awk. awk  option  'pattern'  file -F    指定分隔符: -v     申明自定义变量: 查看当前系统上,用户名和用户shell,输出分隔符为~. # awk -F: 'BEGIN{OFS="~";print "UserName   Shell"}{print $1,$7}END{print "================end===

Shell脚本编程与sed,awk工具的使用--9月15日课程作业

一.shell程序的运行原理 1.脚本 脚本或程序源文件是一种文本文件,将文本文件转换成机器指令有两种转换方式: 编译执行:预处理-->编译-->汇编-->链接:事先完成,结果:二进制程序文件 例如:C, C++ 解释执行:由解释器全程参与运行过程,每次读取一行,运行一行: 例如:  Python:程序控制结构,调用编程库完成程序编写: 库文件:功能模块,在编程中可调用: Bash:调用机器上命令程序文件进行程序编写: 外部命令:各应用程序提供: 2.原理 当shell运行一个程序时,会

Shell脚本 (四)正则表达式 grep sed awk 工具

正则表达式定义正则表达式,又称正规表达式.常规表达式是使用单个字符串来描述.匹配一系列符合某个句法规则的字符串·正则表达式组成普通字符大小写字母.数字.标点符号及一些其他符号元字符在正则表达式中具有特殊意义的专用字符·基础正则表达式示例查找特定字符利用中括号[]来查找集合字符查找行首^与行尾字符$查找任意一个字符.与重复字符查找连续字符范围{}·基础正则表达式的常见元字符^.$...\..[ ].[^ ].[n1-n2].{n}.{n,}.{n,m}·####查找特定字符####n--表示显示行

grep,sed,awk工具的使用

grep过滤特定的行 1.把包含'halt'的行以及这行下面的两行都打印出来. [[email protected] ~]# cp /etc/passwd /tmp/ [[email protected] ~]# cd /tmp/ [[email protected] tmp]# grep -A2 'halt' passwd halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x

鸟哥书籍awk工具学习

awk工具 awk也是一个很好的数据处理工具.相比于sed常常作用于一整行的处理,awk则比较倾向于将一行分成数个字段来处理.因此,awk相当适合处理小型的数据.awk通常的运行模式是这样的: [[email protected] opt]#awk '条件类型1{动作1}条件类型2{动作2}' filename awk后面接两个单引号并加上大括号{}来设置想要对数据进行的处理动作.qwk可以处理后续接的文件,也可以读取来自前个命令的standardoutput.但如前面说的,awk主要是处理每一

Xcode7.3工具解析App崩溃日志(.crash文件)

Xcode7.3工具解析App崩溃日志(.crash文件) 原文链接:http://blog.csdn.net/u011056605 开发的App或者游戏提交审核后,偶尔会收到测试反馈的消息,说应用崩溃了,bug偶尔出现,难以找到确定的重现方法. 怎么办?可以分析崩溃文件啊,也就是app崩溃后,自动保存在设备本地的.crash文件. 获得崩溃日志的方式,在 获取设备上的调试信息与崩溃日志分析 中有说. 在环境ok的情况下,xcode中是可以自动解析.crash文件的.旧版本的xcode甚至可以导

最终版-perl工具解析数据库的报告文件0120

********************需要根据自己的实际环境修改哦**************************** ******************** 1. 收集awr报告样本   awrreport.sql --该脚本请用具有 dba 权限的用户执行,普通用户没有权限访问数据库的基表 conn &usr/ &pass @ &oracle_sid set linesize 1200 ;set pagesize 0;set long 99999;set heading

js之第三方工具解析JSON

1.JSON 仅仅是一种文本字符串.它被存储在 responseText 属性中 为了读取存储在 responseText 属性中的 JSON 数据,须要依据 JavaScript 的 eval 函数.函数 eval 会把一个字符串当作它的參数. 然后这个字符串会被当作 JavaScript 代码来运行.由于 JSON 的字符串就是由 JavaScript 代码构成的,所以它本身是可运行的 比如例如以下方式: String json = "{username:'一叶扁舟',age:22}&quo

【转载】 AWK 工具简明介绍

有一些网友看了前两天的<Linux下应该知道的技巧>希望我能教教他们用awk和sed,所以,出现了这篇文章.我估计这些80后的年轻朋友可能对awk/sed这类上古神器有点陌生了,所以需要我这个老家伙来炒炒冷饭.况且,AWK是贝尔实验室1977年搞出来的文本出现神器,今年是蛇年,是AWK的本命年,而且年纪和我相仿,所以非常有必要为他写篇文章. 之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Nam