文档章节

6-3 9 awk

阿想
 阿想
发布于 2017/09/06 22:23
字数 632
阅读 7
收藏 0
点赞 0
评论 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

© 著作权归作者所有

共有 人打赏支持
阿想
粉丝 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

awk简明教程

AWK 简明教程 2013年2月17日 陈皓 发表评论 阅读评论 84,380 人阅读 有一些网友看了前两天的《Linux下应该知道的技巧》希望我能教教他们用awk和sed,所以,出现了这篇文章。我估计这些80后的...

阿山 ⋅ 2014/05/14 ⋅ 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

AWK常用命令总结

awk '{print $0}' 相当于 awk '{print}' 打印当前行的全部内容 awk '{print "--test"}' /etc/passwd 对于/etc/passwd文件中的每一行都会输出--test 2.多字段的处理 awk -F":" '{print $1 $3}...

dkz ⋅ 2012/10/22 ⋅ 0

awk命令学习

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

北岛熊 ⋅ 2017/06/15 ⋅ 0

AWK处理数组

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

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

Shell脚本之awk文本编辑器语法(二)

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

wuwei5460 ⋅ 2013/01/13 ⋅ 0

awk 用法详解!

awk简介 awk: 中文意思是报告生成器 能够根据我们输入的信息,将信息格式化以后显示,将定义好的信息以比较美观(直观)的方式显示出来出现比较早,继而出现了new awk(nawk)在windows上实现...

求学ing ⋅ 2013/08/08 ⋅ 0

AWK二维数组的使用

awk的多维数组在本质上是一维数组,更确切一点,awk在存储上并不支持多维数组。awk提供了逻辑上模拟二维数组的访问方式。例 如,array[2,4] = 1这样的访问是允许的。awk使用一个特殊的字符串...

2shou2shou ⋅ 2012/11/16 ⋅ 0

awk使用案例总结

Linux Awk使用案例总结(nginx日志统计,文件对比合并等) 知识点: 1)数组 数组是用来存储一系列值的变量,可通过索引来访问数组的值。 Awk中数组称为关联数组,因为它的下标(索引)可以是...

liujing07 ⋅ 2017/11/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部