首页 > 解决方案 > 使用 Powershell 解析一个命令的输出以获取特定值

问题描述

我有一个 TIBCO bwadmin show application 命令,其输出如下。

TIBCO ActiveMatrix BusinessWorks version 6.x.x, hotfix 10, build V145, 2019-03-27

Domain: DOMAIN_NAME

Name                                               Version  AppSpace                       Profile                        Status          Deployment Status (Running/Total)
ApplicationName1.app                                1.1      APPSPACE_NAME                  DEV.substvar                   Running         Deployed          (1/1)
ApplicationName2.app                                1.2      APPSPACE_NAME                  DEV.substvar                   Running         Deployed          (1/1)

powershell 输出截图

我想解析此输出以获取应用程序“ApplicationName2.app”(即:1.2)的“版本”值,并使用 Powershell 将其传递给另一个命令。我们可能有 n 个应用程序,所以我应该能够获得相应应用程序的版本值。谁能让我知道我们如何实现这一目标?

提前致谢!

标签: powershell

解决方案


假设每列中没有空格。如果列始终位于同一位置,请参阅将固定宽度的 txt 文件转换为 CSV / set-content 或 out-file -append?

whatever.exe | select -Skip 5 | foreach { (-split $_)[1] }


1.1
1.2

推荐阅读