使用bash过滤所需的行

时间:2018-11-21 11:38:22

标签: shell awk

我有一个名为“ check”的文件,其中包含以下内容,

calendar: A
Des: bad
04/12/2009 00:00
09/11/2010 00:00
calendar: B
Des: bad
04/09/2013 00:00
08/08/2013 00:00
calendar: B1
Des: bad
04/03/2014 00:00
04/02/2014 00:00
calendar: C
Des: bad
04/05/2009 00:00
09/11/2010 00:00

我只需要过滤日历:B *和相应的des和日期,然后使用bash脚本将其放在单独的文件中 上面给出的是一个示例,实际文件将包含200多行。我尝试过

 awk '/calendar: B/{print}' check

,因为该命令给出标签,而不是标签下面的详细信息。我还需要一个提供详细信息的命令

1 个答案:

答案 0 :(得分:0)

您可以使用此awk命令。

awk '/^calendar/{p=0} /^calendar: B/{p=1} p' check