bash - 将 ps 命令中的列保存到数组中
问题描述
我正在做我的第一个 bash 项目,但我很困惑。我想将命令中的几列保存ps -aux
到几个数组中,以便稍后对它们进行操作。对于我有权访问io
和status
文件的所有进程,我需要每一列。你有什么建议吗?任何事情都会有帮助!我没有任何代码可以给你看,因为我真的不知道如何开始。
谢谢你。
解决方案
读取数组将输入行读取到数组中,并且 cut 可以打印特定的输出列。
通过将两者结合,我们可以将 ps 的列读入数组:
readarray ary <<< "$(ps | cut -d " " -f 1)"
首先运行 ps 命令并将其通过管道传输到 cut 中。我们要打印字段列,因此我们指定 -f1。然后将此输出重定向到 readarray 以创建一个名为 ary 的数组。通过更改数组名称和 -f 编号,可以对其他列执行相同操作。
这里的关键是 ps | cut 命令扩展必须放在引号中以保持新行。
推荐阅读
- typescript - Typescript 中展开运算符的属性选择
- azure-devops - 根据计划将不同的参数值传递给 Azure DevOps Pipeline
- mysql - 按订单类型过滤产品
- postgresql - 每个语句插入前的 PostgreSQL 触发器
- date - 昨天的日期在颤抖
- javascript - 在 django 模板中的 js 的 Swiper 功能中创建了重复的元素(产品)
- python - 试图从 pyodbc.drivers() 获取列表,但它什么也没产生,为什么?
- javascript - Discord.js 问题:新用户的用户名显示为未定义
- pandas - 基于 Pandas Dataframes 检索子字符串
- python - 使用 Python 正则表达式匹配日期和时间