BASH从降价表中获取数据

时间:2016-04-04 20:07:11

标签: bash markdown

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

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

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

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

从这样的表格中获取信息的方法是什么?

1 个答案:

答案 0 :(得分:1)

以下是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