awk命令就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。例如:

awk -F '/' '{print $NF}' tmp/file.txt

该命令用于读取file.txt文件中的内容,读取到的每行内容按'/'分隔符分割后并打印最后一个词,如读取到lib/xxx.txt内容将会打印出xxx.txt

awk命令语法:
awk [-F|-f|-v] 'BEGIN{} //{command1; command2} END{}' file
 [-F|-f|-v]   大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value
'  '          引用代码块
BEGIN   初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符
//           匹配代码块,可以是字符串或正则表达式
{}           命令代码块,包含一条或多条命令
;          多条命令使用分号分隔
END      结尾代码块,在对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出结尾摘要信息

1、print命令是awk打印指定内容的主要命令:

示例:读取tmp目录下的file.txt

awk '{print}' tmp/file.txt 

2、F指定分隔符读取

awk -F '/' '{print $1}' tmp/file.txt

按分隔符分割后打印第一个词

awk -F '/' '{print $NF}' tmp/file.txt

按分隔符分割后打印最后一个词

awk -F '/' '{print $(NF-1)}' tmp/file.txt

按分隔符分割后打印倒数第二个词

附注:

  • $0           表示整个当前行
  • $1           每行第一个字段
  • NF          字段数量变量
  • NR          每行的记录号,多文件记录递增
  • FNR        与NR类似,不过多文件记录不递增,每个文件都从1开始
  • \t            制表符
  • \n           换行符
  • FS          BEGIN时定义分隔符
  • RS       输入的记录分隔符, 默认为换行符(即文本是按一行一行输入)
  • ~            匹配,与==相比不是精确比较
  • !~           不匹配,不精确比较
  • ==         等于,必须全部相等,精确比较
  • !=           不等于,精确比较
  • &&      逻辑与
  • ||             逻辑或
  • +            匹配时表示1个或1个以上
  • /[0-9][0-9]+/   两个或两个以上数字
  • /[0-9][0-9]*/    一个或一个以上数字
  • FILENAME 文件名
  • OFS      输出字段分隔符, 默认也是空格,可以改为制表符等
  • ORS        输出的记录分隔符,默认为换行符,即处理结果也是一行一行输出到屏幕
  • -F'[:#/]'   定义三个分隔符

最新文章

  1. 意外关机引起 IntelliJ IDEA 报 org.jdom.input.JDOMParseException 异常的,解决办法
  2. linux中grep命令详解
  3. 开启ACM的征途
  4. vim 学习日志(4):多窗口使用技巧
  5. 仓鼠找sugar(洛谷 3398)
  6. mssql全文索引
  7. 八大排序算法之三选择排序—简单选择排序(Simple Selection Sort)
  8. (C/C++) 算法,编程题
  9. MySQL学习笔记(二)
  10. 条款19 command 模式与好莱坞法则
  11. 连接Access数据库查询语句
  12. HTML 5 video 视频标签全属性详解
  13. 多路复用的server模型
  14. WinForm 控件(下)
  15. Golang 入门 : 配置代理
  16. 爬虫-----爬取所有国家的首都、面积 ,并保存到txt文件中
  17. BZOJ1095 [ZJOI2007] Hide 捉迷藏 (括号序列 + 线段树)
  18. SQLAlchemy(包含有Flask-Migrate知识点)
  19. Excel编辑栏字体显示大小
  20. 过滤器会拦截 前端页面加载 js文件的请求

热门文章

  1. 基于Docker搭建Jumpserver堡垒机操作实践
  2. softRestTemplate 2
  3. JavaScript入门之AJAX:原生ajax
  4. poj - 1860 Currency Exchange Bellman-Ford 判断正环
  5. CodeForces 1082 E Increasing Frequency
  6. 染色 Wannafly挑战赛20 A 思维
  7. html/css中float浮动的用法
  8. Kafka源码分析及图解原理之Producer端
  9. Spring Cloud(一):服务注册与发现
  10. 集合数组与String的互转