I have a output from a command that I want to pipe to some kind of grep command to obtain the part in each line that matches a given regex, and only output the matching part, without introducing newlines
grep -o can do something quite similar but it generates a newline for each match, and the output of my command also contains many new lines.
input(output of my command):
banana apple banana apple bananas banned
banana banana bananas banned
One thing I can come up with is to use
tr to replace newline character to some character that is unlikely to appear in the output of the command, feed the output to
grep -o, and then use
tr to get back the newline.
mycommand|tr '\n' @|grep -o regex|tr -d '\n'|tr @ '\n'
However I suppose there should be some better solutions. Any help would be appreciated.