文档章节

6-3 9 awk

阿想
 阿想
发布于 2017/09/06 22:23
字数 632
阅读 7
收藏 0

9.6/9.7 awk

几种用法

awk '{print $1}' 1.txt  \\输出第一列
awk -F ':' '{print $1,$3,$5}' test.txt \\指定分隔符:输出1,3,5列
awk -F ':' '{print $1"#"$3"#"$5}' test.txt
awk '/oo/' test.txt
awk -F ':' "$1 ~ /oo/' test.txt
awk -F ':' '$1 ~ /oo+/' test.txt
awk -F ':' '$1 ~ /o+/' test.txt
awk -F ':' '/root/ {print $1,$3} /user/ {print $3,$4}' test.txt
awk -F ':' '/root/ {print $1,$3} /user/ {print $1,$3,$4}' test.txt
awk -F ':' '$3==0' test.txt
awk -F ':' '$3>=1000 {print $0}' test.txt
awk -F ':' '$7!="/sbin/nologin" {print $0}' test.txt

eg

root@lixiang01:~# awk -F ':' '{print $1,$3,$5}' test.txt | head -2
root 0 root
bin 1 bin

awk -F 指定分隔符 print中的都好打印为空格,其他分隔符不变

root@lixiang01:~# awk -F ':' '{print $1"#"$3"#"$5}' test.txt | head -2
root#0#root
bin#1#bin

awk的正则匹配与sed的类似

root@lixiang01:~# awk '/oo/' test.txt
root:x:0:0:root:/root:/bin/bash
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
root@lixiang01:~# awk -F ':' '$1 ~ /oo/' test.txt
root:x:0:0:root:/root:/bin/bash
root@lixiang01:~# awk -F ':' '$1 ~ /o+/' test.txt |head -2
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin

awk匹配可以多次执行

root@lixiang01:~# awk -F ':' '/root/ {print $1,$3} /user/ {print $1,$3,$4}' test.txt
root 0
operator 11
tss 59 59
user1 1001 1001
user2 1002 1006
user3 1004 1005
root@lixiang01:~# grep -E 'root|user' test.txt
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1006::/home/user2:/bin/bash
user3:x:1004:1005::/home/user3:/bin/bash

awk的匹配可以使用“|”用为或者,{print $0}为默认输出,可省

root@lixiang01:~# awk -F ':' '/root|user/ {print $0}' test.txt
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1006::/home/user2:/bin/bash
user3:x:1004:1005::/home/user3:/bin/bash

比较数字时不能加双引号

root@lixiang01:~# awk -F ':' '$3>=1000' test.txt
lixiang:x:1000:1000::/home/lixiang:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1006::/home/user2:/bin/bash
user3:x:1004:1005::/home/user3:/bin/bash
axiang:x:1010:1011::/home/axiang:/bin/bash
root@lixiang01:~# awk -F ':' '$3>="1000"' test.txt | head -3
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
root@lixiang01:~# awk -F ':' '$7!="/bin/bash"' test.txt
bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

扩展 把这里面的所有练习题做一下 http://www.apelearn.com/study_v2/chapter14.html

© 著作权归作者所有

共有 人打赏支持
上一篇: sed 更多用法
下一篇: 6-2 9 sed
阿想
粉丝 0
博文 72
码字总数 69742
作品 0
私信 提问
awk实例(持续更新)

1、显示第几列到第几列。 显示第3至第5列 awk '{for(i=3;i<=5;i++) printf $i""FS;print ""}' file 显示第3列至最后一列 awk '{for(i=3;i<=NF;i++) printf $i""FS;print ""}' file 扩展: fin......

net881004
2017/12/24
0
0
linux笔记(28)sed和awk的联系及拓展

sed练习题 把/etc/passwd 复制到/root/test.txt,用sed打印所有行 [root@localhost sed]# sed -n '1,$p' passwd 打印test.txt的3到10行 [root@localhost sed]# sed -n '3,10'p passwd 打印t......

小新锐
2017/11/25
0
0
awk命令学习

awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F...

北岛熊
2017/06/15
0
0
Shell脚本之awk文本编辑器语法(二)

Shell脚本之awk文本编辑器语法(二) ---------------------------------- 流程控制 分支结构 (一) if (条件) 动作 if (条件) {动作1;动作2} 如: # awk -F: '{if ($1 == "root")print $1}' ...

wuwei5460
2013/01/13
0
0
AWK处理数组

转自ChinaUnix论坛,感谢作者整理。 在文本处理的工作中,awk的数组是必不可少的工具,在这里,同样以总结经验和教训的方式和大家分享下我的一些学习心得,如有错误的地方,请大家指正和补充...

云栖希望。
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ViewPager系列之软件主页面切换制作

效果图:ViewPager制作的页面能左右滑动,而Fragment制作的页面却不能左右滑动。 代码: <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.......

鱼想吃肉
17分钟前
1
0
大话后端开发的奇淫技巧大集合

Hi,大家好,很荣幸有这个机会可以通过写博文的方式,把这些年在后端开发过程中总结沉淀下来的经验和设计思路分享出来 模块化设计 根据业务场景,将业务抽离成独立模块,对外通过接口提供服务...

James-
17分钟前
0
0
函数

1、函数的定义:从function关键字开始,后面跟随{ (1)函数名字 (2)圆括号 (3)花括号 } function arr() {}

墨冥
18分钟前
0
0
ZABBIX 3.4 (一) 监测Nginx状态及脚本

ZABBIX 3.4 (一) 监测Nginx状态及脚本 2018年08月31日 16:56:48 YoFog 阅读数:106 标签: zabbix agentzabbix nginxnginx_status监控nginxzabbix脚本更多 个人分类: 运维 版权声明:本文...

linjin200
19分钟前
1
0
Spring 之 IOC 初始化总结

IOC 容器的初始化过程分为三步骤: Resource 定位 BeanDefinition 的载入和解析 BeanDefinition 注册 Resource 定位。我们一般用外部资源来描述 Bean 对象,所以在初始化 IOC 容器的第一步就...

专业搬砖工程师
22分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部