awk命令学习(1)

摘要:
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

使用方法

例子

一般用法

#echo ‘this is war’  > Desktop/1.txt
#awk '{print $1 $2 $3}' Desktop/1.txt

结果:
    thisiswar

-F(默认空格)

awk -F 'is' '{print $1 $2 $3}' Desktop/1.txt    


结果:
    th  war

OFS用法:($1~is 匹配含is的段落)

echo ‘this is war’|awk -F ':' '$1~is {OFS="#";print $1,$2}'

结果:
    this is war#

($1=="is" 匹配is)

echo 'is'|awk -F ':' '$0=="is" {OFS="#";print $1,$2}'

结果:
   is#

‘||’表示或 NR表示行号

awk -F ':' '$0~/home/ || NR>270  {OFS="#";print $1,$2}' 'Desktop/1.txt'

匹配/home/或大于行号270的段落

结果:
    /home/jjj/.local/share/gvfs-metadata/root#
/home/jjj/.local/share/gvfs-metadata/root-2c6b185d.log#
/var/lib/dpkg/info/fakeroot.postrm#
/var/lib/dpkg/info/fakeroot.prerm#
/var/lib/dpkg/info/libfakeroot#amd64.conffiles
/var/lib/dpkg/info/libfakeroot#amd64.list
/var/lib/dpkg/info/libfakeroot#amd64.md5sums
/var/log/fsck/checkroot#

‘&&’表示并且

awk -F ':' '$0~/home/ && NR<10  {OFS="#";print $1,$2}' 'Desktop/1.txt'

不仅要包含/home/而且行号要小于10
结果:

/home/jjj/.local/share/gvfs-metadata/root#
/home/jjj/.local/share/gvfs-metadata/root-2c6b185d.log#

运算 例:$1=$2+$3

 #cat Desktop/1.txt 
1 2 3
4 5 6
7 8 9

#awk '$1=$2+$3 {print}' 'Desktop/1.txt'     (加)
5 2 3
11 5 6
17 8 9

#awk '$1=$2*$3 {print}' 'Desktop/1.txt'      (乘)
6 2 3
30 5 6
72 8 9


#awk '$1=$2/$3 {print}' 'Desktop/1.txt'       (除)
0.666667 2 3
0.833333 5 6
0.888889 8 9

免责声明:文章转载自《awk命令学习(1)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇小米公布2017二季度手机出货量:环比增长70%MessageDigest简单介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

什么是DMI,SMBIOS,符合SMBIOS规范的计算机的系统信息获取方法

转自:http://www.cnblogs.com/gunl/archive/2011/08/08/2130719.html DMI是英文单词Desktop Management Interface的缩写,也就是桌面管理界面,它含有关于系统硬件的配置信息。计算机每次启动时都对DMI数据进行校验,如果该数据出错或硬件有所变动,就会对机器进行检测,并把测试的数...

47 ubuntu指令整理学习

0 引言在使用ubutnu时,积累了大量命令笔记。但是这些笔记比较零散,没有系统性,不便于查找和使用。通过系统性、分门别类地整理,希望可以增强对指令的记忆,提高工作效率,对ubuntu的使用更加地道。 1 软件安装/卸载命令参考了链接: https://www.cnblogs.com/1130136248wlxk/articles/6260430.html...

apache 访问日志access_log 配置和解析 rotatelogs分割日志

一、解析访问日志        apache 的访问日志记载着大量的信息,学会高效快捷的读出其中关键信息对我们的工作有极大帮助。       如果Apache的安装方式是默认安装,服务器一运行就会有两个日志文件生成。       这两个文件是 access_log(在Windows上是access.log)                        ...

[Linux] Nginx服务下统计网站的QPS

单位时间的请求数就是QPS,那么在nginx服务的网站下,如果要统计QPS并且按从高到低排列,需要使用awk配合sort进行处理awk做的主要工作是把access每行日志按分隔符分开,然后循环每一行,存到一个数组里,如果只按时间不区分脚本路径,数组里存的数据是比如arr['[28/Nov/2019:14:12:23']=20 key是时间,value是次数...

awk的printf格式化输出

awk的printf格式化输出 20121108 Chenxin cat sort_result.txt 223 浙江省 207 上海市 168 广东省 149 山东省 128 江苏省 114 云南省 111 四川省 需要将该文件中的第一个域求和,之后计算各个地区所占的百分比; links_num=2000 awk -v links_num2=$links...

ArcGIS Pro 60天许可申请与试用

春节之后,美国esri官网给了我们一些小惊喜,千呼万唤的 ArcGIS Pro 的试用许可终于放出来了。与ArcGIS Desktop Advanced 一起提供 60天的试用,同时附赠了 200 个 credit。 ArcGIS Pro 使用了全新的 Named User 方式授权许可,我们可以多个设备同时在线使用。 PS:如果你希望得到 ArcGIS...