记录 awk 命令的简单使用
正则匹配
awk -F: '$1 ~ /root|charlie|fabric/ {print $0}' /etc/passwd
输出
root:x:0:0:root:/root:/bin/bash
charlie:x:1000:1000:Charlie Lin,,,:/home/charlie:/bin/zsh
fabric:x:1001:1001::/home/fabric:/bin/zsh
解析:
- -F 表示分隔符为
:
$1
表示取每一行的第一列作为输入。$0
表示取整行作为输入。- ~ 表示匹配,!~ 表示不匹配
- /REG/ 表示匹配到正则表达式才进行后续操作 !/REG/ 表示相反
{print $0}
表示输出整行,$1
表示输出第一列`
删除正在运行的程序
ps -ef | grep -v grep | grep kafka | awk '{print $2}'
解析:
grep -v
表示反向过滤{print $2}
表示输出第二列的数据,即 pid