我有一个文本文件,我想提取仅包含“名称”作为值的行后面的两行数据。
姓名
032
表达参与外交合作的意向(例如政策
支持)
描述
姓名
033
表达提供物质援助的意图,下文未具体说明
描述
因此,上面的输出将是一个包含以下内容的文件:
032 表达开展外交合作的意向(如政策支持)
033 表达提供物质援助的意图,下文未指定
答案1
awk '/Name/ { readline; num=$0; readline; print num, $0; }' < inputfile
readline
读取输入的下一行$0
。因此,当Name
匹配时,它会读取下一行,将其放入变量中num
,然后读取第二行,然后将num
和该行一起打印在一行上。