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

Cmd 如何在同一文件的grep内容之间添加换行分隔符?,cmd,grep,Cmd,Grep,我有一个输出文件,我可以grep每个模型的几个模式 例如,在输出文件中,我有几个模型、欧米茄值、日期等 到目前为止,我使用(在cmd中): 结果是:#一些模型没有欧米茄或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

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

例如,在输出文件中,我有几个模型、欧米茄值、日期等

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

结果是:#一些模型没有欧米茄或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=“=”“Model”out.txt,但是没有显示任何内容,或者我最终得到了附加到每行开头的out.txt。不确定该语法是否正确。

将输出导入sed并在模型前面插入换行符

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

啊,谢谢。成功了!我只是刚刚学习了grep命令,对sed不太熟悉。实际上,尽管在cmd行中看到结果时效果很好,但当我将结果保存到输出文件(文本格式)时,整个过程都会发生变化。而在sed命令之前,我可以将结果保存到一个文本文件中,它看起来与cmd提示符中显示的完全一样。在将格式写入输出文件时,如何保持格式不变?让我补充一点,当我从一个bash脚本执行整个命令时,就会发生这种情况。我无法理解,只是在windows和bash(WSL)中用相同的结果测试了它。要保存到文件,只需附加重定向,如
>new.txt
是的,但当我打开该文本文件时,所有内容都只写两行。它不再在输出中(如上所示)。我写道:grep-E“Model | omega | p | date1 | type”outputfile.txt | sed“s/^Model/\n&/>output | testfile.txt您使用的是什么版本的grep?我的(GNU grep 3.1)没有选项
--组分隔符
。如果您发布示例输入,我们可以帮助您。你目前接受的答案肯定不是最好的方法。我发布了示例输入。我发布的内容实际上是我在cmd中键入的内容,输出内容正是我从输出文本文件中得到的内容。我只想在模型的每个实例之间留一些空间,这样我就可以清楚地阅读它。我想听听其他利用grep的方法。同样对于前面的评论,我没有组分隔符选项。我想我会的,因为我看到了其他关于它的帖子,但任何使用这种方法都不会给我带来任何好处。我甚至没有awk在我的cmd上工作。
grep -E "Model|omega|p|date1|type" outputfile.txt|sed "s/^Model/\n&/"