特殊要点:
$0 表示整个当前行
$1 每行第一个字段
NF 字段数量变量
NR 每行的记录号,多文件记录递增
OFS 输出字段分隔符, 默认也是空格,可以改为制表符等
ORS 输出的记录分隔符,默认为换行符,即处理结果也是一行一行输出到屏幕
-F'[:#/]' 定义三个分隔符

只查看testfile文件(100行)内第20到第30行的内容:

awk '{if(NR>=2 && NR<=3) print $1}' testfile(sed:sed -n '2,3p' testfile)

Hello,Chen mei mei! Where are you?提取出Chen Where:

echo 'Hello,Chen mei mei! Where are you?'|awk -F '[,! ]+' '{print $2,$5}'

(多一个加号表明将连续出现的记录分隔符当做一个来处理)

BEGIN END 模块
统计某个文件夹下的文件占用的字节数
ll|awk 'BEGIN {size=0}{size=size+$5}END{print size}'

例题
$1与$3相连输出,不分隔   awk -F: '{print $1$3}'
多了一个逗号,$1与$3使用空格分隔   awk -F: '{print $1,$3}'
$1与$3之间手动添加空格分隔   awk -F: '{print $1" "$3}'
自定义输出   awk -F: '{print "username:"$1"\tuid:"$3}'
显示每行有多少字段   awk -F: '{print NF}'
将每行第NF个字段的值打印出来   awk -F: '{print $NF}'
显示只有7个字段的行   awk -F: 'NF==7{print}' passwd
显示每行字段数量大于等于7的行   awk -F: 'NF>=7{print}' passwd
输出每行的行号   awk -F: '{print NR,$0}' passwd
依次打印行号,字段数,最后字段值,制表符,每行内容   awk -F: '{print NR,NF,$NF,"\t"$0}'
显示第5行   awk -F: 'NR==5{print}' passwd
显示第5行和第6行   awk -F: 'NR==5||NR==6{print}' passwd
不显示第一行   awk -F: 'NR!=1{print}' passwd (sed -n '1!p' passwd)

输出第一列和第二列   awk -F: '{print $1,$2}' passwd
分别打印第一列和第二列(分行输出)   awk -F: '{print $1; print $2}' passwd
分别打印1,3,6列,输出结果用制表符分隔   awk -F ':' '{print $1,$3,$6}' OFS="\t" passwd

最新文章

  1. GiuHub 使用
  2. hive load数据为null
  3. java:经典消费生成者
  4. 配置jsp开发环境
  5. Windows平台注册mysql服务
  6. C++11散列表
  7. mysql操作时遇到的小问题
  8. sqlserver2012
  9. Python logging模块详解
  10. 转: ES6异步编程:Generator 函数的含义与用法
  11. outlook 当关闭时最小化到任务栏完美的解决方案
  12. kali网络配置
  13. PAT DFS,BFS,Dijkstra 题号
  14. mssql instead of 触发器应用一-创建只读视图(view)的方法
  15. Java集合之TreeMap源码分析
  16. pandas的聚合操作: groupyby与agg
  17. emacs安装
  18. spring 定时任务 scheduled Cron表达式
  19. 转:log4j的使用简介
  20. 表单数据转换成json格式数据

热门文章

  1. php项目权限系统设计
  2. TCP之RST报文段
  3. 剑指offer-字符串的排列
  4. 六十:Flask.Cookie之flask设置cookie的有效域名
  5. Nginx 日志打印POST数据
  6. js __proto__ 和prototype的联系
  7. WebJars简介
  8. String与toString
  9. thinkphp6.0 nginx 配置
  10. JavaScript基础之数组常用方法