关于 grep,awk 的小例子

时间:2022-02-10 16:06:35

grep 是查找含有指定文本行

grep -v 是取反,比如 grep -v grep 就是查找 不含有 grep 内容的行,简单来说,就是过滤输入的 grep 命令

 

 

Demo:

ps -aux | grep seemmo_server.py 就是查找运行的进程记录

关于 grep,awk 的小例子

ps -aux | grep seemmo_server.py | grep -v grep 就把自己过滤掉掉

关于 grep,awk 的小例子

 

进阶

ps aux | grep seemmo_server.py | grep -v grep | awk '{print $2}' | xargs kill -9

xargs 包含需强制杀死的pid,而 ps aux | grep seemmo_server.py | grep -v grep | awk '{print $2}' 的效果需要说明Linux的一个原理

管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入

解析如下:

1、ps aux 显示所有的进程

2、ps aux | grep seemmo_server.py 作用是把包括 seemmo_server.py 这个关键字的进程都显示出来

3、如上图中所示 ps aux | grep seemmo_server.py 会把 grep seemmo_server.py 的进程也统计进来,因此用 ps aux | grep seemmo_server.py | grep -v grep去除grep进程

4、然后,只包含 seemmo_server.py 关键字的进程筛选结果作为输入给 awk '{print $2}',这个部分的作用是提取输入的第二列,而第二列正是进程的PID
5、最后将 PID 交给 xargs,进行强制杀死