awk

本文详细介绍了awk工具的基础用法,包括如何通过/分隔字段并打印特定域,以及条件操作符在筛选文本中的应用,如正则表达式匹配、比较和逻辑运算。涵盖了从基本语法到高级条件判断的全面内容。

awk的使用

使用/来分割这一行,把这一行的第一第四个域打印出来 。-F默认分割是空格

[root@Centos01 ~]# awk -F / '{print $1,$4}' test.txt 
root:x:0:0:root: bash
bin:x:1:1:bin: nologin

$0表示打印所有域并把结果输出

[root@Centos01 ~]# awk '{print $0}' test.txt 
root:x:0:0:root: bash
bin:x:1:1:bin: nologin

条件操作符

<、<=、==、!=、>=、匹配正则表达式、!不匹配正则表达式

匹配:awk ‘{if ($4~/ASIMA/) print $0}’ temp 表示如果第四个域包含ASIMA,就打印整条

精确匹配:awk ‘$3==“48” {print $0}’ temp 只打印第3域等于"48"的记录

不匹配: awk ‘$0 !~ /ASIMA/’ temp 打印整条不包含ASIMA的记录

不等于: awk ‘$1 != “asima”’ temp

小于: awk ‘{if ($1<$2) print $1 “is smaller”}’ temp

设置大小写: awk ‘/[Gg]reen/’ temp 打印整条包含Green,或者green的记录

任意字符: awk ‘$1 ~/^…a/’ temp 打印第1域中第四个字符是a的记录,符号’^’代表行首,符合’.’代表任意字符

或关系匹配: awk ‘$0~/(abc)|(efg)/’ temp 使用|时,语句需要括起来

AND与关系: awk ‘{if ( $1==“a” && $2==“b” ) print $0}’ temp

OR或关系: awk ‘{if ($1==“a” || $1==“b”) print $0}’ temp

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值