首页 > 解决方案 > 将 ps 命令中的列保存到数组中

问题描述

我正在做我的第一个 bash 项目,但我很困惑。我想将命令中的几列保存ps -aux到几个数组中,以便稍后对它们进行操作。对于我有权访问iostatus文件的所有进程,我需要每一列。你有什么建议吗?任何事情都会有帮助!我没有任何代码可以给你看,因为我真的不知道如何开始。

谢谢你。

标签: bash

解决方案


读取数组将输入行读取到数组中,并且 cut 可以打印特定的输出列。

通过将两者结合,我们可以将 ps 的列读入数组:

readarray ary <<< "$(ps | cut -d " " -f 1)"

首先运行 ps 命令并将其通过管道传输到 cut 中。我们要打印字段列,因此我们指定 -f1。然后将此输出重定向到 readarray 以创建一个名为 ary 的数组。通过更改数组名称和 -f 编号,可以对其他列执行相同操作。

这里的关键是 ps | cut 命令扩展必须放在引号中以保持新行。


推荐阅读