awk应用场景之过滤举例

以/etc/passwd举例,passwd文本
[root@196 tmp]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
关于passwd
用户名(login_name)
口令(passwd)
用户标识号(UID)
组标识号(GID)
注释性描述(users)
主目录(home_directory)
登录Shell(Shell)
过滤行首或行尾
# 以nologin结尾
awk -F: '/nologin$/ {print $1,$NF}' /etc/passwd
# 不以nologin结尾
awk -F: '!/nologin$/ {print $1,$NF}' /etc/passwd
# 以tom或my开头的行
awk '/^(tom|my)/' /etc/passwd
对某一列或整行进行关键字过滤
# uid列包含3
awk -F: '$3~3 {print $1,$3,$NF}' /etc/passwd
# uid列等于1
awk -F: '$3==1' /etc/passwd
# 包含systemd-n或systemd-b的行
# []匹配[]内字符集合中的一个,如[123abc]只能匹配123abc中的一个字符
awk '/systemd-[nb]/' /etc/passwd
# 包含tomcat和mysql的行
awk -F: '/tomcat|mysql/' /etc/passwd
# 只对第一列进行过滤
awk -F: '$1 ~ /tomcat|mysql/' /etc/passwd
# 不包含tomcat和mysql的行
awk -F: '!/tomcat|mysql/ || NR==1' /etc/passwd
# 只对第一列进行过滤
awk -F: '$1 !~ /tomcat|mysql/ || NR==1' /etc/passwd
输出某一范围内的行
# 输出第一次匹配行首为tomcat行 到 第一次匹配行首为ntp的行之间的行,也包括被匹配的行
awk -F: '/^tomcat/,/^ntp/ {print NR, $0}' /etc/passwd
# 输出从n行到m行
awk -F: 'NR>=3 && NR<=10 {print NR, $0}' /etc/passwd
其他场景
比如一个文件有m列,但我只想输出n列,n <= m,怎么弄?
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4096433
echo "aaa bbb ccc ddd" |awk '{NF-=2}1'
aaa bbb
# 补充一下输出2到n列
awk -F: 'BEGIN{n=4}{for(i=2;i<n;i++)printf $i":";print $i}' /etc/passwd
[seesea@UC ~]$ cat file
1 2 3 4
a b c d
x y z .
[seesea@UC ~]$ cut -f 2- file
2 3 4
b c d
y z .
[seesea@UC ~]$ cut -f 3- file
3 4
c d
z .
[seesea@UC ~]$ cut -f 4- file
4
d
.
显示ps aux命令执行时,当前系统上其VSZ(虚拟内存集)大于10000的进程及其PID
ps aux|awk '!/^USER/ {if($5>10000) {printf $2"------"; for(i=11;i<=NF;i++) printf $i"";print ""}}'
awk应用场景之过滤举例的更多相关文章
- [svc]find+xargs/sed&sed后向引用+awk多匹配符+过滤行绝招总结&&产生随机数
30天内的文件打包 find ./test_log -type f -mtime -30|xargs tar -cvf test_log.tar.gz find,文件+超过7天+超过1M的+按日期为文 ...
- 使用 awk 过滤文本或文件中的字符串
当我们在 Unix/Linux 下使用特定的命令从字符串或文件中读取或编辑文本时,我们经常需要过滤输出以得到感兴趣的部分.这时正则表达式就派上用场了. 什么是正则表达式? 正则表达式可以定义为代表若干 ...
- linux awk 使用的一个例子
1. 场景 从日志中获取漏发奖励的司机id 2. 日志 如下(需要获取一个时间段的 driverIdStr) ::-thread-] order.service.TOrderInfoServiceIm ...
- HTTPS Web配置举例
http://www.h3c.com.cn/Products___Technology/Technology/Security_Encrypt/Other_technology/Representat ...
- 使用nio对磁盘下的文件进行过滤
上篇博文讲到为了解决tomcat日志自动清理的问题,翻看了tomcat-juli这个jar包.在FileHandler类下有一个利用nio完成对磁盘下过期文件进行过滤的功能实现,正好这段时间正在学习n ...
- 四.awk、sde深度讲解
###sed### 查询 1创建测试文件 cat>person.txt<<EOF> 101,oldboy,CEO> 102,zhangyao,CTO> 103,Al ...
- php常用的安全过滤函数
目录结构 ①常用的安全函数有哪些: ②这些函数的作用: ③函数的用法: ④举例说明: ⑤参考资料: 由于越来越多的项目开始使用框架,所以,很多的程序员也不在关心安全的问题!因为框架已经帮我们几乎完美的 ...
- MapReduce编程之Semi Join多种应用场景与使用
Map Join 实现方式一 ● 使用场景:一个大表(整张表内存放不下,但表中的key内存放得下),一个超大表 ● 实现方式:分布式缓存 ● 用法: SemiJoin就是所谓的半连接,其实仔细一看就是 ...
- awk处理excel表格数据
拿到一个ip的excel表格,要对单元格中的ip进行扫描,一看有点乱,有空格分割的,有"/"分割的,有带括号(分割的,有好几百个: 要把左边的变为右边的格式,用excel自带的功能 ...
随机推荐
- logback日志级别动态切换的终极方案(asm使用)
背景 一切皆有因果,所有事情,都有事件驱动.本方案的日志级别切换是由这样的背景下产生的: 单个生产环境上,有几百近千个微服务 日志级别切换不重启服务,要求即时生效果 由业务开发人员去修改代码或增加相关 ...
- 【每日日报】第四十七天---<div>
1 学习HTML HTML <div> 元素是块级元素,它可用于组合其他 HTML 元素的容器. <div> 元素没有特定的含义.除此之外,由于它属于块级元素,浏览器会在其前后 ...
- java读取xml文件并转换成对象,并进行修改
1.首先要写工具类,处理读取和写入xml文件使用的工具.XMLUtil.javaimport java.io.FileInputStream; import java.io.FileWriter; i ...
- hql常用查询语句
// HQL: Hibernate Query Language.// 特点:// >> 1,与SQL相似,SQL中的语法基本上都可以直接使用.// >> 2,SQL查询的是表 ...
- 居中select中的option选项
select经常有长短不一的选项:选择不同的选项居中不会生效: 使用text-align:center;text-align-last: center; 可以让所有选项都居中: 关于text-dec ...
- 6.S081-2021-Lab3 Pgtbl学习笔记
Speed up system calls 根据hints查看kernel/proc.c中的函数proc_pagetable // kernel/proc.c // Create a user pag ...
- Django + Taro 前后端分离项目实现企业微信登录
前言 还是最近在做的一个小项目,后端用的是Django搭配RestFramework做接口,前端第一次尝试用京东开源的Taro框架来做多端(目前需要做用于企业微信的H5端和微信小程序) 本文记录一下企 ...
- 【GPLT】 紧急救援(c++)
题目: 本题使用Dijkstra算法,但在模板上进行了一定的扩展,是一道不错的最短路题目. AC代码: 1 #include<iostream> 2 #include<cmath&g ...
- JavaWeb和WebGIS学习笔记(七)——MapGuide Open Source安装、配置以及MapGuide Maestro发布地图——超详细!目前最保姆级的MapGuide上手指南!
JavaWeb和WebGIS学习笔记(七)--MapGuide Open Source安装.配置以及MapGuide Maestro发布地图 超详细!目前最保姆级的MapGuide上手指南! 系列链接 ...
- Go语言实践模式 - 函数选项模式(Functional Options Pattern)
什么是函数选项模式 大家好,我是小白,有点黑的那个白. 最近遇到一个问题,因为业务需求,需要对接三方平台. 而三方平台提供的一些HTTP(S)接口都有统一的密钥生成规则要求. 为此我们封装了一个独立的 ...