awk

记录 awk 命令的简单使用

Posted by Charlie Lin on March 23, 2020

记录 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