如何在同一文件的grep内容之间添加换行符?

时间:2017-08-12 19:05:21

标签: cmd grep

我有一个输出文件,我可以为每个模型grep几个模式。

例如,在输出文件中,我有几个模型,omega值,日期等。

到目前为止,我使用(在cmd中):

grep -E "Model|omega|p|date1|type" outputfile.txt

结果是:#some模型没有omega或p值,根据模型很好,我仍然得到我需要的所有重要细节

Model 1: First-Estimate
omega: 5
date1: 05/04/2000
type: 1.000 2.000 3.000
Model 2: Second-Estimate  
date1: 05/04/2000
type: 1.000 1.500 2.000
Model 3: Third-Estimate
omega: 5  6.1   7.5
p: 0.523  0.321  0.663
date1: 05/04/2000
Model 4: Fourth-Estimate   Field Check
omega: 1  6.2   7.6
p: 5.221  6.5312  6.222
date1: 05/04/2000

我想知道,如何插入--group-separator函数,以便我可以在" Model"的每个实例之间创建一个换行符空格。这样我可以快速区分每个模型组?

所以我希望输出看起来更清晰,更具可读性:

Model 1: First-Estimate
omega: 5
date1: 05/04/2000
type: 1.000 2.000 3.000

Model 2: Second-Estimate  
date1: 05/04/2000
type: 1.000 1.500 2.000

Model 3: Third-Estimate
omega: 5  6.1   7.5
p: 0.523  0.321  0.663
date1: 05/04/2000

Model 4: Fourth-Estimate   Field Check
omega: 1  6.2   7.6
p: 5.221  6.5312  6.222
date1: 05/04/2000

它甚至不需要是换行符分隔符。我试过--group-separator =" ====" "型号" out.txt,但没有任何东西会出现,或者我最终将out.txt附加到每行的开头。不确定这个的正确语法。

1 个答案:

答案 0 :(得分:1)

将输出管道输出到sed并在模型前插入换行符?

grep -E "Model|omega|p|date1|type" outputfile.txt|sed "s/^Model/\n&/"