以/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应用场景之过滤举例的更多相关文章

  1. [svc]find+xargs/sed&sed后向引用+awk多匹配符+过滤行绝招总结&&产生随机数

    30天内的文件打包 find ./test_log -type f -mtime -30|xargs tar -cvf test_log.tar.gz find,文件+超过7天+超过1M的+按日期为文 ...

  2. 使用 awk 过滤文本或文件中的字符串

    当我们在 Unix/Linux 下使用特定的命令从字符串或文件中读取或编辑文本时,我们经常需要过滤输出以得到感兴趣的部分.这时正则表达式就派上用场了. 什么是正则表达式? 正则表达式可以定义为代表若干 ...

  3. linux awk 使用的一个例子

    1. 场景 从日志中获取漏发奖励的司机id 2. 日志 如下(需要获取一个时间段的 driverIdStr) ::-thread-] order.service.TOrderInfoServiceIm ...

  4. HTTPS Web配置举例

    http://www.h3c.com.cn/Products___Technology/Technology/Security_Encrypt/Other_technology/Representat ...

  5. 使用nio对磁盘下的文件进行过滤

    上篇博文讲到为了解决tomcat日志自动清理的问题,翻看了tomcat-juli这个jar包.在FileHandler类下有一个利用nio完成对磁盘下过期文件进行过滤的功能实现,正好这段时间正在学习n ...

  6. 四.awk、sde深度讲解

    ###sed### 查询 1创建测试文件 cat>person.txt<<EOF> 101,oldboy,CEO> 102,zhangyao,CTO> 103,Al ...

  7. php常用的安全过滤函数

    目录结构 ①常用的安全函数有哪些: ②这些函数的作用: ③函数的用法: ④举例说明: ⑤参考资料: 由于越来越多的项目开始使用框架,所以,很多的程序员也不在关心安全的问题!因为框架已经帮我们几乎完美的 ...

  8. MapReduce编程之Semi Join多种应用场景与使用

    Map Join 实现方式一 ● 使用场景:一个大表(整张表内存放不下,但表中的key内存放得下),一个超大表 ● 实现方式:分布式缓存 ● 用法: SemiJoin就是所谓的半连接,其实仔细一看就是 ...

  9. awk处理excel表格数据

    拿到一个ip的excel表格,要对单元格中的ip进行扫描,一看有点乱,有空格分割的,有"/"分割的,有带括号(分割的,有好几百个: 要把左边的变为右边的格式,用excel自带的功能 ...

随机推荐

  1. can总线第三讲

    一  CAN控制器官方定义:CAN控制器用于将欲收发的信息(报文),转换为符合CAN规范的CAN帧,通过CAN收发器,在CAN-bus上交换信息.举个便于理解的例子:就像您发快递一样,要根据快递公司提 ...

  2. LQR (线性二次型调节器)的直观推导及简单应用

    转自:https://blog.csdn.net/heyijia0327/article/details/39270597 本文主要介绍LQR的直观推导,说明LQR目标函数J选择的直观含义以及简单介绍 ...

  3. Numpy使用Matplotlib实现可视化绘图

    Numpy使用Matplotlib实现可视化绘图 可以直接将Numpy的数组传给Matplotlib实现可视化绘图: 曲线图 饼图 柱状图 直方图 1. 绘制正弦曲线 2. 绘制饼图 3. 柱状图 4 ...

  4. DSP选型

    DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法.根据数字信号处理的要求,DSP芯片一般具有如下主要特点: (1)在一个指 ...

  5. java中如何能知道应该捕获什么样的异常?举例

    我怎么知道应该捕获什么样的异常? 马克-to-win:如上例1.1:开始没加try时,程序崩溃,系统打印的是如下的错误,Exception in thread "main" jav ...

  6. Windows测试Hadoop报错解决

    错误1:HADOOP_HOME and hadoop.home.dir are unset 原因:没有在Windows配置环境变量 解决办法:配置环境变量:记得配置到bin目录 错误2:Could n ...

  7. 体温数据上传程序开发+获取时间的三种方法+DB Browser下载及安装

    今天开始了体温上传程序的开发 今日所学: 获取时间 (21条消息) (转)安卓获取时间的三种方法_sharpeha的博客-CSDN博客_安卓获取时间 DB Browser安装教程 (20条消息) sq ...

  8. redis从0-1学习记录(完结)

    1. NoSQL(not only sql):不仅仅是数据库,非关系型数据库,关系型数据库是以表格的行列进行存储的,而非关系型数据库是以键值对进行存储,不需要固定的格式.非关系型数据库的特点,方便扩展 ...

  9. C# 将PDF转为Excel

    通常,PDF格式的文档能支持的编辑功能不如office文档多,针对PDF文档里面有表格数据的,如果想要编辑表格里面的数据,可以将该PDF文档转为Excel格式,然后编辑.本文,将以C#代码为例,介绍如 ...

  10. Mybatis-typeAliases的作用

    其他具体代码请访问->mybatis的快速入门 1.在mybatis核心配置文件SqlMapperConfig.xml中配置别名 <!-- 定义别名--> <typeAlias ...