---===AWK学习之旅===---
一行命令:
1.打印输入每行的字段总数:
最后一行的字段总数:END{print NF}
每行都显示字段总数: {print NF}
 
2.打印指定行:
awk 'NR==3' emp.txt
 
3.打印每行的最后一列:
awk '{print $NF}' emp.txt
 
4.  打印最后一行最后一列:
awk 'END{print $NF}' emp.txt
awk '{field = $NF} END {print $field}' emp.txt 
 
5.打印字段数量大于4的所有行
awk 'NF > 4' emp.txt
 
6.打印出每行最后一个字段值>4
awk '$NF>4' emp.txt
 
7. 打印出所有字段数量
awk '{nf = nf + NF}END{print nf}' emp.txt
 
8.打印含有某关键字的行总数:
awk '/Mary/{lines = lines + 1}END{print lines}' emp.txt  
 
9.打印出第一个字段最大的行:
 awk '$1 > maxfield{maxfield = $1;maxline = $0}{print maxfield,maxline}' emp.txt
 
10.最少有一个字段,空行不打印
awk 'NF>0' emp.txt
 
11.打印每行字段的总数及每行内容:
awk '{print NF,$0}' emp.txt
 
12.打印每行字符总数大于12
awk 'length($0)>12' emp.txt
 
13.打印每行指定字段
awk '{print $2,$1}' emp.txt
 
14.交换两个字段的顺序,并打印所有行:
awk '{temp = $1;$1 = $2; $2 = temp;print}' emp.txt
 
15.第一列被行号替换,并打印所有行:
 awk '{$1 = NR;print }' emp.txt
 
16.删掉第二列,并打印所有
awk '{$2 = "";print }' emp.txt
 
17. 翻转行字段的顺序,并打印
awk '{for(i=NF;i>0;i=i-1) printf("%s ",$i); printf("\n")}' emp.txt
 
18.打印每行数字字段累加和:sum
[root@monitor awkdir]# awk '{for (i=1;i<=NF;i=i+1) sum = sum + $i ;print sum}' emp.txt
4
7.75
21.75
46.75
74.25
96.5
 
19.打印所有行中数字字段相加的和:sum
[root@monitor awkdir]# awk '{for (i=1;i<=NF;i=i+1) sum = sum + $i}END{print sum}' emp.txt
96.5
 
20.打印每行值:绝对值
awk '{for (i=1;i<=NF;i=i+1) if($i<0) $i=-$i;print}' emp.txt

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

  1. 上位机面试必备——TCP通信灵魂二十问【下】

    上篇文章跟大家介绍了TCP通信常见的前10个面试题,没看过的小伙伴可以点击下方链接进行查看: 上位机面试必备——TCP通信灵魂二十问[上] 今天就后面的10个面试题接着做下说明:欢迎关注[dotNet ...

  2. <转>二十问全链路压测干货汇总(上)

    本文转载自:微信公众号-数列科技<二十问全链路压测干货汇总(上)> 最近几年全链路压测无疑成为了一个热门话题,在各个技术峰会上都可以看到它的身影. 一些大型的互联网公司,比如阿里巴巴.京东 ...

  3. GUI学习之二十九—QFileDialog学习总结

    今天学习的是文件对话框——QFileDialog 一.描述 QFileDialog提供了一个对话框,允许用户选择文件或者目录,也允许用户遍历文件系统,用以选择一个或多个文件或者目录. QFileDia ...

  4. GUI学习之二十五——QFontDialog学习总结

    今天学习字体对话框——QFontDialog()控件. QFontDialog()是继承自QDialog()的一个子类,用来选择给定的字体(包括字体.字号.样式等) 一.构造函数 QFontDialo ...

  5. GUI学习之二十四——QDialog学习总结

    今天学习对话框输入控件的基类(QDialog). 一.描述 是对话类窗口(字体框.颜色选择.文件选择框等)的基类. 对话框窗口是顶级窗口(就是说不包含于哪个父类的显示界面里),主要用于短期任务和与用户 ...

  6. 上位机面试必备——TCP通信灵魂二十问【上】

    关注公众号获取更多干货 TCP通信协议应该是上位机开发中应用最广泛的协议,无论是西门子S7协议.三菱MC协议或者是欧姆龙的Fins-TCP协议等,都是TCP通信协议的典型应用.很多人在上位机面试时,都 ...

  7. 面渣逆袭:二十二图、八千字、二十问,彻底搞定MyBatis!

    大家好,我是老三,面渣逆袭系列继续,这节我们的主角是MyBatis,作为当前国内最流行的ORM框架,是我们这些crud选手最趁手的工具,赶紧来看看面试都会问哪些问题吧. 基础 1.说说什么是MyBat ...

  8. MIP改造常见问题二十问

    在MIP推出后,我们收到了很多站长的疑问和顾虑.我们将所有疑问和顾虑归纳为以下二十个问题,希望对大家理解 MIP 有帮助. 1.MIP 化后对其他搜索引擎抓取收录以及 SEO 的影响如何? 答:在原页 ...

  9. GUI学习之二十九—QInputDialog学习总结

    最后一种对话框是QInputDialog,,用来提供个输入的窗口. 一常用的静态方法 由于输入的类型不同,QInputDialog分为多种静态方法使用 #有步长调节器的整形数据,step为步长调节器的 ...

随机推荐

  1. Vue-cli 安装使用和理解

    Vue 的 官方文档 提到 点开这个链接,跟着文档一步步直到: $ npm install -g vue-cli $ vue init webpack my-project $ cd my-proje ...

  2. Oracle分配内存的基本单位:Granule(粒度)

    在9i后,SGA的内部组件大小可以动态调整,也可以由数据库自动管理,在设置内存大小的时候,分配的基本单位是粒度(granule) granule是一段连续的虚拟内存,大小区域决SGA_MAX_SIZE ...

  3. mysql备份总结

    w汇总对比. mysqldump -u user -p wdbname > /www/wbak.sql pwd CREATE TABLE wbak_w_02071349 LIKE w; INSE ...

  4. HTML 之轮播图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. MapReduce辅助排序

    需求:订单数据 求出每个订单中最贵的商品? 订单id正序,成交金额倒序. 结果文件三个,每个结果文件只要一条数据. 1.Mapper类 package com.css.order.mr; import ...

  6. 日期Date 对象常用的方法

    var mydate = new Date();//通过new方法创建对象 //alert(Date()); // 返回一个完整的日期时间 // alert(mydate.getDay());//返回 ...

  7. 在setting中实现可拔插的插件功能实现

    1.setting配置信息 在配置文件中通过对插件进行注释来实现可拔插,例如在配置中将其注释,则在使用此功能不起作用,注释取消后则可正常使用 # 可拔插的插件(plugins) PLUGINS_DIC ...

  8. npm命令,查看当前npm版本,更新nmp到最新版本,安装sails

    打开Node.js command prompt 1 查看npm当前版本 npm -v 2 更新npm至最新版本 npm install npm@latest -g 3 安装sails  npm in ...

  9. php微信支付回调验证

    //字典排序拼接字符串 function getWxPaySignature($arr){ ksort($arr); $str = ''; foreach ($arr as $k=>$a){ $ ...

  10. python全栈开发从入门到放弃之函数进阶

    1.三元运算 a= 1 b=2 max = (a if a>b else b ) #条件成立的结果 if 条件 else 条件不成立的结果 print(max) 2.先上一首python之禅 i ...