在Bash中垂直和水平对齐单词

在Bash中垂直和水平对齐单词,bash,Bash,我有一个脚本,它从redhat数据库中检查CVE详细信息,并将输出获取到文本文件 下面是脚本的输出 CVE-2017-3289 Critical Impact 2017-01-17 -- CVE-2017-5335 Moderate Impact 2017-01-10 -- CVE-2017-5336 Moderate Impact 2017-01-10 -- CVE-2017-5337 Moderate Impact 2017-01-10 -- CVE-2017-5581 Low Impact

我有一个脚本,它从redhat数据库中检查CVE详细信息,并将输出获取到文本文件

下面是脚本的输出

CVE-2017-3289
Critical Impact
2017-01-17
--
CVE-2017-5335
Moderate Impact
2017-01-10
--
CVE-2017-5336
Moderate Impact
2017-01-10
--
CVE-2017-5337
Moderate Impact
2017-01-10
--
CVE-2017-5581
Low Impact
2017-01-13
--
CVE-2017-6074
Important Impact
2017-02-22
现在,我需要格式化文本,并使其看起来如下所示:

CVE-2017-3289 | Critical Impact | 2017-01-17
CVE-2017-5335 | Moderate Impact | 2017-01-10
CVE-2017-6074 | Important Impact | 2017-02-22
sed方法:

sed '/CVE/{N;N; s/\n/ | /g; n; /--/d}' yourfile
输出:

CVE-2017-3289 | Critical Impact | 2017-01-17
CVE-2017-5335 | Moderate Impact | 2017-01-10
CVE-2017-5336 | Moderate Impact | 2017-01-10
CVE-2017-5337 | Moderate Impact | 2017-01-10
CVE-2017-5581 | Low Impact | 2017-01-13
CVE-2017-6074 | Important Impact | 2017-02-22

请添加您现在使用的Bash脚本源代码。Stackoverflow不是免费的代码编写服务。如果你试图写一些东西,但遇到了一些困难,那么展示一下你所做的,并提出一个具体的问题。有关提示,请参阅。如果你只是想做免费的工作,那么StackOverflow就不适合这样的要求。学会自己编写代码,或者花钱请人为你编写代码。