提取和保存两个分隔符之间的文本文件部分的方法是什么。 我想提取以第一次出现的字符串 “TYPE A” 和以第一次出现的“TYPE E”结束的部分。
类似于:
Some text, blah, blah, blah : TYPE A line 1 of text of my interest line 2 more text of my interest line 3 text of interest: TYPE A line 4 more and more line 5 more, now: TYPE A line 6 here is: TYPE B line 7 more and more text of my interest ... line 8 and now: TYPE E line 9 blah blah
即我想将任何在这两个定界符之间 保存到另一个文件 - 第一个 TYPE A
包括所有后续的和第一个 TYPE E
。它可以排除或包括这两者,因为我真的很想进一步处理介于两者之间的内容。
我想使用 sed 或我可以在 OSX 或 Linux 上找到的类似实用程序来执行此操作,但不能使用 Perl。
最佳答案
使用awk
:
awk '/TYPE A/{p=1;next}/TYPE E/{print $0;p=0}p' inputFile > outputFile
输出:
$ awk '/TYPE A/{p=1;next}/TYPE E/{print $0;p=0}p' inputFile
line 1 of text of my interest
line 2 more text of my interest
line 3 more and more text of my interest ... : TYPE E
关于regex - 从文本文件中的重复范围模式中获取特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17372838/