我有一個大文本文件,兩個令牌之間有文本塊,我想提取並放入一個新文件。我想要提取的每個塊單行(每個塊都有自己的行)。如何使用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'。 –