bash - 读取bash中命令后显示的表的方法是什么
问题描述
如果我需要一些特定的行和列,是否有最好的方法来读取一些显示为表格的 bash 命令的结果?例如,当我运行这一行时:
gcloud app instances describe $instance_name --service=postprocessing --version=$instance_version
我明白了:
startTime: '2020-08-03T16:29:29.142Z'
vmDebugEnabled: true
vmIp: xx.xx.xxx.xxx
vmStatus: RUNNING
我只需要这张表中的 IP,我该如何获得它?我发现只有一种方法,将整个输出保存为数组,然后获取它的第 -3 个元素。我想知道是否有更好的方法?同样对于具有更多“列”且具有标题的其他类型的输出,例如:
mst@cloudshell:~ (me)$ free -m
total used free shared buff/cache available
Mem: 1995 469 279 0 1247 1379
Swap: 767 0 767
例如,我如何获得免费/交换?
解决方案
我建议使用awk
在输出中获取您想要的值。
vmIP
使用值(第二个字段)设置 $VMIP 变量:
VMIP=$(gcloud app ... | awk '/vmIp:/ {print $2}' )
Swap free
使用值(第 4 个字段)设置 $SWAP_FREE 变量:
SWAP_FREE=$(free -m | awk '/Swap:/ {print $4}')
推荐阅读
- python - 用于 make 构建的递归 Makefile
- php - 像谷歌注册这样的密码的正则表达式?
- python - 在 Python 中为聚合数据帧格式化标头
- mysql - mysqlslap - [错误] 从 cmd 使用 INSERT 查询
- python - 如何正确地将函数映射到数据集的每条记录
- ios - Swift webView 在 iPhone XS 上加载内容错误的插图
- angular - Angular 6,EmptyError:序列中没有元素 - 可能是错误的拦截器
- google-calendar-api - 谷歌日历定期事件php api
- ballerina - 芭蕾舞女演员:传递给敏感参数的污染值
- android - 使用 Textwatcher 更改 Spinner 的文本颜色