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