1、awk作用:
处理每一行的字段内的数据,默认的字段的分隔符为空格或tab键。
2、格式:
awk '条件类型1{动作1} 条件类型2{动作2}' filename
示例1:
执行命令 :test.sh myprocess
// test.sh //$1表示脚本后的参数,即:myprocess,下同。
#!/bin/sh
ps -ef |grep $1 |grep -v "grep" |grep -v "/bin/sh"|awk '{print $2}'
---------------------->awk '{print $2}'-------------->打印第二个字段(进程号)
示例2:
#!/bin/sh
ps -ef |grep $1 |grep -v "grep" |grep -v "/bin/sh" |awk '{print $2, $8}' ----------->默认各个参数用,隔开,显示结果参数间为空格
---------------------->awk '{print $2,$8}'-------------->打印第二个字段和第8个字段(进程号和进程名)
--------------------->也可以直接打印第8个参数,这样就是看该进程在不在运行。
示例3:
#!/bin/sh
ps -ef |grep $1 |grep -v "grep" |grep -v "/bin/sh" |awk '{print $2}' |xargs kill -15
------------------------>找到该进程,然后kill -15 该进程
注意:xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令
也可以参考该文的形式,如下所示:
kill -15 `ps -ef|grep $1|grep -v grep|awk ‘{print $2}‘`
示例4:
#/usr/bin/sh
ipcs -m |grep 15073 |awk '{print $1}' |xargs ipcrm -M
-------------->删除共享内存
示例5:
ps -u 用户名|grep testpro |grep -v "grep" |awk '{print $1,";", $4}' ---->中间用;隔开
附表:
ipcs和ipcrm用法简介------参考文章
命令名称:ipcs
使用权限:所有使用者
使用方式:
ipcs [-m|-q|-s]
-m 输出有关共享内存(shared memory)的信息
-q 输出有关信息队列(message queue)的信息
-s 输出有关“遮断器”(semaphore)的信息
命令名称:ipcrm
使用权限:所有使用者
使用方式:
ipcrm [ -M key | -m id | -Q key | -q id | -S key | -s id ] ...
说明:删除消息队列、共享内存、信号灯
参数:
-M 以shmkey删除共享内存
-m 以shmid删除共享内存
-Q 以msgkey删除消息队列
-q 以msgid删除消息队列
-S 以semkey删除信号灯
-s 以semid删除信号灯

本文深入解析awk命令的功能和格式,通过多个示例展示如何使用awk处理进程信息、删除共享内存等,涵盖ps、xargs、ipcs及ipcrm等命令的配合使用。
3155

被折叠的 条评论
为什么被折叠?



