令人惊讶的是很难找到一个很好的例子。假设我有这个命令:
ps -aeF
Run Code Online (Sandbox Code Playgroud)
第 7 列是处理器#(?)。我只想按第二个核心上运行的进程进行过滤。我怎样才能做到这一点?当然,如果我这样做的话,问题是:
ps -aeF | awk '{print $7}' | grep 2
Run Code Online (Sandbox Code Playgroud)
然后我只得到单列而不打印所有列..
awk 脚本由成对的模式和当模式评估逻辑为真时执行的操作组成。所以你可以使用
... | awk '$7==2 {print}'
Run Code Online (Sandbox Code Playgroud)
或者更简洁地说,因为{print}这是默认操作
... | awk '$7==2'
Run Code Online (Sandbox Code Playgroud)