博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
awk
阅读量:6504 次
发布时间:2019-06-24

本文共 2374 字,大约阅读时间需要 7 分钟。

[root@abinlinux ~]# awk -F ':' '{print $3}' 1.txt   第三段    

0

1

2

[root@abinlinux ~]# awk -F ':' '{print $3,$4}' 1.txt     三段   四段    截取段  

0 0

1 1

2 2

[root@abinlinux ~]# awk -F ':' 'OFS=":" {print $3,$4}' 1.txt  

OFS=":"相当于 -F   指定分隔符   以:号分开  同时可以使用 #&! 也可以用做分开

0:0

1:1

2:2

3:4

4:7

[root@abinlinux ~]# awk -F ':' 'OFS="#" {print $3,$4,$1}' 1.txt    

$3 第三段  $4 第四段 $1第一段  

0#0#root

1#1#bin

2#2#daemon

3#4#adm

[root@abinlinux ~]# awk '/yun/' 1.txt    awk 匹配 用法

yun:x:500:500::/home/yun:/bin/bash

[root@abinlinux ~]# awk '/yun|root/' 1.txt     也可以匹配多个 用| 他表示  用法  awk可以直接用|

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

yun:x:500:500::/home/yun:/bin/bash

[root@abinlinux ~]# awk '/r*o/' 1.txt   可以匹配*号前面的任意一个  

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

[root@abinlinux ~]# awk '/r?o/' 1.txt   匹配问号前面 的一个或者多个  

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

[root@abinlinux ~]# awk '/r+o/' 1.txt   匹配一个或多个加好前面的字符  

root:x:0:0:root:/root:/bin/bash

mail:x:8:12:mail:/var/spoorrrrrrrrol/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

gopher:x:13:30:gopher:/var/goproher:/sbin/nologin

[root@abinlinux ~]# awk '/r.*o/' 1.txt     这叫贪婪匹配  

root:x:0:0:root:/root:/bin/bash

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologi

[root@abinlinux ~]# awk '/(oo)+/' 1.txt    一个是可以的多个也是可以的

rooooooooot:x:0:0:root:/root:/bin/bash

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

[root@abinlinux ~]# awk '/(ooo)+/' 1.txt      三个O只有 这些         awk不支持{}

rooooooooot:x:0:0:root:/root:/bin/bash

halt:x:7:0:halt:/sbin:/rooooo*osbin/halt

[root@abinlinux ~]# awk -F ':' '$1~/r*o/' 1.txt    匹配第一段带ro的 或者多个  

rooooooooot:x:0:0:root:/root:/bin/bash

daemon:x:2:2:daemon:/sbin:/sbin/nologin

shutdown:x:6:0:shutdowr.on:/sbin:/sbin/shutdown

operator:x:11:0:operator:/root:/sbin/nologin

[root@abinlinux ~]# awk -F ':' '$1~/r*o/ {print $4}' 1.txt     匹配过程中单独的显示第几段

                                                                                               精准匹配精准打印  

0

2

0

0

30

99

89

26

[root@abinlinux ~]# awk -F ':' '$1~/r*o/ {print $1,$3}$1~/nobody/ {print $1,$3}' 1.txt

两个规则的匹配

rooooooooot 0

daemon 2

shutdown 6

operator 11

gopher 13

nobody 99

nobody 99

postfix 89

postgres 26

[root@abinlinux ~]# awk -F ':' '$1~/r*o|nobody/ {print $1,$3}' 1.txt

'$1~/r*o|nobody/  匹配第一段 r*o 或者nobody      ;{print $1,$3}'  匹配第一和第三段  打印

                        一个规则的匹配  

rooooooooot 0

daemon 2

shutdown 6

operator 11

gopher 13

nobody 99

postfix 89

postgres 26

本文转自 amenging 51CTO博客,原文链接:http://blog.51cto.com/11335852/1983968

转载地址:http://xxqyo.baihongyu.com/

你可能感兴趣的文章
es6(二):字符串的扩展
查看>>
智能手机拍照进化论:从传感器到算法摄影
查看>>
magento2项目上线注意事项
查看>>
2018年OpenStack用户调查报告出炉:Kubernetes仍居首
查看>>
集成软件开发工具有多难?现实很残酷!
查看>>
与专门团队一起持续交付
查看>>
Eclipse基金会发布Eclipse Photon IDE
查看>>
Scott Guthrie访谈:定制仪表板与Azure Monitor
查看>>
测试计划驱动开发模式TPDD:一种比TDD更友好的开发模式
查看>>
CNCF宣布Envoy项目正式毕业
查看>>
python 学习笔记 - Queue & Pipes,进程间通讯
查看>>
微软最具价值技术专家:我的16年软件开发经验总结
查看>>
BAT都有哪些AIOps的经典案例?
查看>>
敏捷现状10周年调查
查看>>
与Brian Goetz聊Java的数据类
查看>>
记录一下第一次使用npm
查看>>
JavaScript 一些 DOM 的知识点
查看>>
HTML中设置input等文本框为不可操作
查看>>
跳前端坑前,先看看这个!!
查看>>
理解 C# 泛型接口中的协变与逆变(抗变)
查看>>