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