skyfans之每天一个Liunx命令系列之四十七:awk之1

今天我们继续来学习每天一个命令,今天我们继续学习章节内容:查找类命令(SEARCH),这章里将包括我们运维常用的三剑客内容,今天学习的是什么命令呢,那就是awk(文本和数据进行处理,也可以理解为一种编程语言)。它能使用正则表达式等其他过滤条件搜索文本,并把匹配的内容打印出来。

awk --help

在这里插入图片描述
-f 从文件或脚本中读取awk命令
-F 指定以 fs 作为输入行的分隔符,fs可以是字符串、正则表达式等
-v 在执行处理过程之前,设置一个变量值,并可以给其设备初始值为特定值

测试学习开始

1.行数匹配查询

准备好我们要使用的一个文件,里面编写相关帅气的内容!VV

cat testawk1.txt

在这里插入图片描述

(1)只显示第一段的值

awk '{print $1}' testawk1.txt

在这里插入图片描述
我们看到了,执行的结果显示出来我们初始定义的文件中的第一列:序号列。

(2)显示第二段

awk '{print $2}' testawk1.txt

在这里插入图片描述
对比全文件查看,是不是这时候显示了第二列的内容。

这里大家发现了一个现象没有,程序命令自动识别的中间件的空格符,区分出了第二段的内容。

好,以此类推,我们继续

(3)显示第四段

awk '{print $4}' testawk1.txt

在这里插入图片描述
我们又看到了另外一个现象,当匹配到此列内没有内容的时候,匹配出的结果会已空白内容显示。而匹配到最后一列内容和符号连在一起的时候,会把所有内容匹配出来并显示。

(4)同时匹配第一列和第二列

awk '{print $1,$2}' testawk1.txt

在这里插入图片描述

(5)实际应用:匹配linux服务器上的应用进程ID

ps -ef |grep mongo |awk '{print $2}'

在这里插入图片描述
在实际工作中,我们时长会进行查找某进程并进行处理,这时我们就可以使用类似如上命令进行匹配出对应ID,然后直接对进程进行操作即可。

还记得我们在blog中处理僵尸进程的语句吗?

ps aux |grep -w Z |grep -v grep |awk '{print $2}'

在这里插入图片描述
我在自己的服务器上执行了下,发现没有结果,证明服务器上没有僵尸进程的,哈哈!!!!

如果没有印象,或者想学习的,可以飞机去:定期清理僵尸进程(临时解决方法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值