📜  awk 从命令输出中获取第二列 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:25.988000             🧑  作者: Mango

从命令输出中获取第二列 - Shell-Bash

简介

在Shell脚本中,awk是一种非常常用的命令,常用来对文件进行操作,如分割列、过滤行等。本篇介绍如何使用awk命令从命令输出中获取第二列。

代码示例

下面是一个简单的示例,我们将使用awk命令从ls命令的输出中获取第二列:

ls -l | awk '{print $2}'

输出结果如下:

root
user
user
root
root

解释一下以上语句的含义:

  • ls -l :列出当前目录下的文件及其详细信息。
  • | :表示将前一个命令的输出作为后一个命令的输入。
  • awk '{print $2}' :用awk命令获取第二列,并输出到终端上。

其中,'{print $2}'中的$2表示输出第二列。

进阶使用

除了简单地输出第二列,我们还可以进行一些操作,如将第二列求和、获取最大值等。下面是一些示例:

  1. 求和
ls -l | awk '{sum+=$2} END {print sum}'

以上命令将ls命令的输出的第二列求和。

  1. 获取最大值
ls -l | awk 'BEGIN {max=0} {if ($2>max) max=$2} END {print max}'

以上命令将ls命令的输出的第二列获取最大值并输出。

总结

以上就是awk从命令输出中获取第二列的方法,也介绍了一些进阶用法。awk是一种非常强大的命令,值得进一步学习和了解。