gpt4 book ai didi

Bash:获取命令行程序执行的输出并设置为变量

转载 作者:行者123 更新时间:2023-12-04 19:33:28 25 4
gpt4 key购买 nike

我在 CentOS 中运行一个命令,它给我一个多行字符串的输出,我想获取该输出的某个部分并将其设置为一个变量。

例如我运行命令行

ebi-describe-env

我的输出如下:
ApplicationName | CNAME | DATECreated | DateUpdated | Description | EndpointURL |   
EnvironmentID | EnvironmentName | Health | Stack | Status | TemplateName |
Version Label -------------------------------------
Web App | domain.com | 2012-02-23 | 2012-08-31 | |
anotherdomain.com | e-8sgkf3eqbj | Web-App-Name | Status |
Linux | Ready | N/A | 20120831 - daily

我想捕获每次调用都在同一个位置的多字符串的“20120831-daily”部分,并将其设置为一个变量。我相信“------”表示新行或输出。

我对 bash 脚本非常陌生,所以任何帮助都会很棒。谢谢你。

注意:我之前问过这个问题,它是用 awk 解决的,但事实证明它只是用于单行输出。
Previous question

最佳答案

您可以轻松添加模式以将特定行与上一个答案匹配:

awk -F"|" 'NR == 6 {print $NF}'
awk 中 block 的“模式”可以是任何有条件的。在我的示例中 NR是行号,以便在第 6 行打印最后一个(用竖线分隔的)单词。您也可以使用像 /Linux/ 这样的模式如果您想要其中包含“Linux”的行。

关于Bash:获取命令行程序执行的输出并设置为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12289472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com