linux命令大全之awk

#awk是比较好用的查找命令之一,被广泛的应用于现在的shell语言中和日常的命令操作中

#下面进行实地操作演练

#新建一个test.txt文件

一只pig
hi wudi
一只pig
我是一只pig
hi
 world
hi world 
i miss I you much!
I can you speak Chinese?
yea!
你;是;宇;宙;无;敌;超;级;可爱;的猪猪侠;
3

1.查询第二列和第三列的内容

cat test.txt | awk '{print $2,$3}'

 
wudi 
 
 
 
 
world 
miss I
can you
 
 

2.查询有"wudi"的第二列的内容

cat test.txt | grep wudi | awk '{print $2}'

wudi

3.标出行号及其内容(NR为行号,$0为输出本行内容,-v可以理解为转义,OFS=__译为将你要输出的内容中间填写为__)

cat test.txt | awk -v OFS=". " '{print NR,$0}'

1. 一只pig
2. hi wudi
3. 一只pig
4. 我是一只pig
5. hi
6.  world
7. hi world 
8. i miss I you much!
9. I can you speak Chinese?
10. yea!
11. 你;是;宇;宙;无;敌;超;级;可爱;的猪猪侠;
12. 3

4.匹配相应的行(&&和的关系、||或的关系、//正则匹配、!//正则匹配后取反、~//对特定的数据正则匹配、==精确匹配)

匹配到有’pig’和’我’的一行

cat test.txt | awk '/pig/&&/我/'

我是一只pig

#匹配到有’pig’和’我’的一行,输出行号和第一列
cat test.txt | awk -v OFS=". " '/pig/&&/我/{print NR,$1}'

4. 我是一只pig

 匹配行中有“pig”内容且第一列有“是”的内容

cat test.txt | awk '/一/&&$1~/是/'

我是一只pig

5.自定义分隔符

#以“ ”为分隔符,打印出第四列的内容
cat test.txt | awk -F";" '{print $4}'

wudi




world
miss
can



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明宝爱吃糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值