awk的妙用

  • 终端形式

有人说awk的优势在于可以个性化输出命令,这么说来太抽象了,假如我们查看占用6379端口的进程信息。

lsof -i:6379

输出结果:

COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 17474 root    6u  IPv6  71242      0t0  TCP *:6379 (LISTEN)
redis-ser 17474 root    7u  IPv4  71243      0t0  TCP *:6379 (LISTEN)

假如我们只想获取进程号PID,那么awk的优势就显现了

lsof -i:6379|awk 'NR==2 {print $2}'

上述命令中 | 叫做管道符号 管道符号之前为输入参数 管道后为输出结果  这个案例中输入参数就是 “查看端口的结果”

输出结果是 输入参数的第二行NR==2 第二个栏目{print $2},这样就拿到了pid 17474

  • shell脚本形式
#!/bin/bash
mypid=`lsof -i:6379|awk 'NR==2 {print $2}'`
if [ ${#mypid} -eq 0 ]
then
    echo "进程不存在"
else
    echo "进程编号是:"${mypid}
fi

 

posted @ 2019-07-25 12:18  saintdingtheGreat  阅读(304)  评论(0编辑  收藏  举报