恐怕我不是上述三种工具中的任何一个的专家,所以我要求大家。使用awk,sed或grep获取文本文件的子部分
我有一个大的文本文件,可以分成多个部分,每个部分的标题为ABC
和页脚&&
。一个典型的文件看起来像这样:
ABC
...
<ID>
123
...
&&
ABC
...
<ID>
124
...
&&
我需要检索基于给定ID
一个部分,例如,如果ID=123
,我想输出是:
ABC
<ID>
123
&&
哪里有是ABC
<ID>
之间,以及123
和&&
之间的随机数据。实际的ID
,123
是可变的。
我相信做awk '/ABC/,/\&\&/'
工作在找到每个小节,但我不知道如何得到正确的ID对应的小节。预先感谢您的帮助。
编辑:澄清了问题和示例输入。
与@slitvinov的解决方案类似,如果文本文件中只有一个以' ABC'并以'&&'结尾。典型的文本文件将包含多个部分,但每个部分都有不同的ID。 – Alex 2012-07-27 21:00:29
@Alex这应该只检索包含输入ID的部分,而不管多个部分。 – potong 2012-07-28 06:09:03