提取具有特定值的行后面的两行

提取具有特定值的行后面的两行

我有一个文本文件,我想提取仅包含“名称”作为值的行后面的两行数据。

姓名

032

表达参与外交合作的意向(例如政策

支持)

描述

姓名

033

表达提供物质援助的意图,下文未具体说明

描述

因此,上面的输出将是一个包含以下内容的文件:

032 表达开展外交合作的意向(如政策支持)

033 表达提供物质援助的意图,下文未指定

答案1

awk '/Name/ { readline; num=$0; readline; print num, $0; }' < inputfile

readline读取输入的下一行$0。因此,当Name匹配时,它会读取下一行,将其放入变量中num,然后读取第二行,然后将num和该行一起打印在一行上。

相关内容