BASH 从降价中获取数据 table

BASH get data out of a markdown table

我正在使用一个输出非常漂亮的信息的应用程序。但是,这妨碍了实际使用该信息进行自动化。

Blah blah blah
Acting as user 'admin' on 'Bosh Lite Director'

+------------------+-----------+-------------+
| Name             | Versions  | Commit Hash |
+------------------+-----------+-------------+
| important-value  | 0+dev.27* | e5b99f85+   |
|                  | 1         | 3781cf3f+   |
| another-value    | 2         | 3781cf3f+   |
| and-another      | 0+dev.15  | 19c27248+   |
|                  | 0+dev.16  | 19c27248+   |
|                  | 0+dev.17  | 19c27248+   |
|                  | 0+dev.18  | a05a76b9+   |
|                  | 0+dev.19  | a05a76b9+   |
|                  | 0+dev.20  | a05a76b9+   |
|                  | 0+dev.21  | a05a76b9+   |
|                  | 0+dev.22  | a05a76b9+   |
|                  | 0+dev.23* | a05a76b9+   |
+------------------+-----------+-------------+
(*) Currently deployed
(+) Uncommitted changes

Releases total: 3

因此 table 我想获取最新版本,或者能够获取我可以检查的版本号列表。

所以获取 important-value 的数据将是 0+dev.27, 1 然后我可以浏览该列表并查看是否有特定版本。

从这样的 table 中获取信息的一致方法是什么?

这是bash中的一个方法:

echo $YOUR_CONTENT | tr -d ' ' | cut -d "|" -f2,3 | sed ':a;N;$!ba;s/\n|/,/g' |
     grep "important-value" | cut -d "|" -f2

结果:

0+dev.27*,1