Let's assume that i have file named inputFile which looks like that:
blahblah token substring token something else token substring2 token
Whole file contain only 1 long line.
I want to extract substrings between tokens with sed (substring,substring2).
At this moment I have:
[sed "s/^.* \?token\(.* \)token.* \?/\1/"][1] inputFile > outputFile
I try to do this based on these questions, but unfortunately it returns only last substring
Extract lines between 2 tokens in a text file using bash
How to replace multiple patterns at once with sed?
How to select lines between two patterns?
Answers with explanation will be great.
UPDATE real input code:
<archive><message id="0"><receiver>apr</receiver><sender>gtr</sender><text>52333</text><sendTime>554</sendTime><deliveryTime>765</deliveryTime></message><message id="0"><receiver>apr</receiver><sender>gtr</sender><text>4332</text><sendTime>764</sendTime><deliveryTime>922</deliveryTime></message></archive>
Expected output:
apr gtr 52333
apr gtr 4332