---===AWK学习之旅===---
十三个常用命令行处理
 
[root@monitor awkdir]# cat emp.txt
Beth 4.00 0
Dan 3.75 0
Kathy 4.00 10
Mark 5.00 20
Mary 5.50 22
Susie 4.25 18
 
1.不打印最后一列
|awk 'BEGIN{FS="-";OFS="-"} NF--''
 
2.计数分组
|awk 'BEGIN{FS="-";OFS="-"} NF--'|awk '{a[$1]+=1;}END{for(i in a){print a[i]" " i;}}'
 
AWK知识:
 
3.NF:字段数量,是个内置变量
NR:行号
 
4.printf : 格式
awk '{printf("total pay for %s is $%.2f\n",$1,$2*$3)}' emp.txt
 
5.# 左对齐,占8个字符;小数点后2位,总共占6位。例如:100.02 
awk '{printf("%-8s $%6.2f\n",$1,$2*$3)}' emp.txt
 
6.打印标题:
awk 'BEGIN{print "NAME RATE HOURS"; print ""} {print}' emp.txt
 
统计某字段符合条件的 有多少行:
awk '$3 > 15 {emp = emp + 1} END {print emp} emp.txt
 
7.统计行数:NR
 
8.按某列求平均值:
awk '{ pay = pay + $2 * $3 } END {print NR,"employees" ;print "total pay is",pay}' emp.txt
 
9.求某列的最大值:
wk '$3 > maxrate {maxrate = $3; maxemp = $1} END {print "highest hourly rate:",maxrate,"for",maxemp}' emp.txt
 
10.打印最后一行:
[root@monitor awkdir]# awk '{last = $0} END {print last}' emp.txt
Susie 4.25 18     
 
11.分割某一列:
awk '{split($2,array,".");$2=array[1];print}' test.txt
 
内置函数:length
11.统计字段字符长度:
awk '{print $1,length($1)}' emp.txt
2017-07-25 11:16:10.220 queries client
2017-07-25 11:16:10 queries client
 
12.列转换成行,指定分隔符分割
awk '{names = names $1 ","}END{print names}' a.txt
等同于:cat a.txt |tr '\n' ',' 
[root@monitor awkdir]# awk '{names = names $1 "-"} END {print names}' emp.txt
Beth-Dan-Kathy-Mark-Mary-Susie-
 
13.统计行数,单词,字符数
行数:NR
打印每行的行号:
awk '{print NR}' emp.txt
 
打印总的行数:也就是最后一行行号
awk 'END{print NR}' emp.txt
 
单词:每个域分割就算一个单词,也就是每行的列数
awk '{nw = nw + NF}END{print nw}' emp.txt
 
字符数:
解析:awk 行级处理。每次处理,$0就代表一行内容。 
 [root@monitor awkdir]# awk '{print length($0)}' emp.txt
11
10
13
12
12
13
统计总数:每行的值,一次累加。
[root@monitor awkdir]# awk '{nc = nc + length($0)}END{print nc}' emp.txt
71

awk十三问-【AWK学习之旅】的更多相关文章

  1. awk二十问-【AWK学习之旅】

    ---===AWK学习之旅===--- 一行命令: 1.打印输入每行的字段总数: 最后一行的字段总数:END{print NF} 每行都显示字段总数: {print NF}   2.打印指定行: aw ...

  2. awk分割列-【AWK学习之旅】

    ---===AWK学习之旅===--- awk 内置分割函数:split,将列按照指定分割符,分割成数组 用法:split(str1,array,"分隔符") 文件内容: [roo ...

  3. CU社区shell板块awk十三问整理

    CU社区shell板块awk十三问整理 一.RS="" 当 RS="" 时,会将\n强制加入到FS变量中,因为RS为空时,是将连续多空行作为分隔符,近似于\n\ ...

  4. 异曲同工的AWK语句,学习

    输出每个IP的网络连接数,是作很多事情的第一步: netstat -nat | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n ne ...

  5. AWK的介绍学习

    第一节.awk的工作流程和基本用法 1.awk介绍 awk是一种报表生成器,就是对文件进行格式化处理的,这里的格式化不是文件系统的格式化,而是对文件内容进行各种"排版",进而格式化 ...

  6. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

  7. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  8. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

  9. WCF学习之旅—第三个示例之三(二十九)

    上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...

随机推荐

  1. Android TextView使用HTML处理字体样式、显示图片等

    一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操 ...

  2. Android开源项目分类汇总【畜生级别】

    From :http://blog.csdn.net/forlong401/article/details/25459403?c=6c4cd677a617db4655988e41ee081691#t7 ...

  3. angular4 form表单验证

    <!-- novalidate 清除浏览器默认的校验行为 --> <form [formGroup]="formModel" (ngSubmit)="o ...

  4. html 事件处理程序中的代码在执行时,有权访问全局作用域中的任何代码。

    看一个简单的例子: html: <head> <meta charset="UTF-8"> <title>Document</title& ...

  5. Linux Centos 开启防火墙 FirewallD is not running

    转载自:http://www.z4zr.com/page/1006.html CentOS7用firewall命令“替代”了iptables.在这里我们需要区分“iptables服务”和“iptabl ...

  6. HDU2604—Queuing

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2604 题目意思:n个人排队,f表示女,m表示男,包含子串‘fmf’和‘fff’的序列为O队列,否则为E ...

  7. 二项分布。计算binomial(100,50,0.25)将会产生的递归调用次数(算法第四版1.1.27)

    算法第四版35页问题1.1.27,估计用一下代码计算binomial(100,50,0.25)将会产生的递归调用次数: public static double binomial(int n,int ...

  8. android开发笔记(一)Android studio 输入法

    以前都是用的时候查资料做些增添即可,现在下决心系统学习下. 首先发现developer.Android.com在开发工具上开始推出了 Android Studio了,不过他自己没有sdk manage ...

  9. qemu进程页表和EPT的同步问题

    背景分析: 在之前分析EPT violation的时候,没有太注意qemu进程页表和EPT的关系,从虚拟机运行过程分析,虚拟机访存使用自身页表和EPT完成地址转换,没有用到qemu进程页表,所以也就想 ...

  10. python模块之PIL模块(生成随机验证码图片)

    PIL简介 什么是PIL PIL:是Python Image Library的缩写,图像处理的模块.主要的类包括Image,ImageFont,ImageDraw,ImageFilter PIL的导入 ...