awk命令

AWK是一种处理文本文件的语言,是一个强大的文本分析工具
AWK工作流程:
在这里插入图片描述

1、通过关键字 BEGIN 执行 BEGIN 块的内容,即 BEGIN 后花括号 {} 的内容。
2、完成 BEGIN 块的执行,开始执行body块。
3、读入有 \n 换行符分割的记录。
4、将记录按指定的域分隔符划分域,填充域,$0 则表示所有域(即一行内容),$1 表示第一个域,$n 表示第 n 个域。
5、依次执行各 BODY 块,pattern 部分匹配该行内容成功后,才会执行 awk-commands 的内容。
6、循环读取并执行各行直到文件结束,完成body块执行。
7、开始 END 块执行,END 块可以输出最终结果。

主要参数

-F		指定文件拆分分隔符
-v		赋值一个用户自定义的变量
-f		从脚本文件中读取awk命令
练习文件
root@vlxubuntudxst1:/tmp# cat log.txt 
2 this is a test
3 Are you like awk
This's a test
10 There are orange,apple,mongo
awk '{[pattern] action}' {filenames}   # 行匹配语句 awk '' 只能用单引号
awk '{print $1,$2}' log.txt		#默认分隔符为空格

在这里插入图片描述
awk -F, ‘{print $1,$2}’ log.txt #指定",“为分隔符
在这里插入图片描述
awk 'BEGIN{FS=”,"} {print $1,$2}’ log.txt #使用内置变量
在这里插入图片描述
awk -F ‘[ ,]’ ‘{print $1,$2,$5}’ log.txt #使用多个分隔符,先用空格进行分割,然后对分割结果再使用“,”进行分割
在这里插入图片描述
awk -va=1 ‘{print $1,$1+a}’ log.txt #设置变量a=1
在这里插入图片描述
awk -va=1 -vb=s ‘{print $1,$1+a,$1b}’ log.txt
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值