我有一个大文本文件,两个令牌之间有文本块,我想提取并放入一个新文件。我想要提取的每个块单行(每个块都有自己的行)。如何使用bash提取文本文件中的令牌和操作输出
我用这个解决方案:Extract lines between 2 tokens in a text file using bash
sed -n '/<!-- this is token 1 -->/{:a;n;/<!-- this is token 2 -->/b;p;ba}' inputfile
和它的工作近乎完美。我遇到的问题是提取的块是两行,我想将它浓缩为一行。我怎样才能做到这一点?
例子:
<token1>
text to
extract
<token2>
<token1>
text to
extract
<token2>
输出应该是这样的:
text to extract
text to extract
类似溶液可以使用'AWK -v RS =“<如果你的标记真的像你提到的那样,那么token [[:digit:]]>“'{$ 1 = $ 1} /./{print $ 0}'inputfile'。 –