Adding a separator between found results by sed

Viewed 57

I have a text file like this for example:

test.txt:
Hello my name is test
Well my name will be test
Hello Hello test
Hello my name already is test

Now I want to get everything between every 'Hello' and 'test'. This works for me:

cat test.txt | sed --quiet '/Hello/,/test/p'

It gives the following output:

Hello my name is test
Hello Hello test
Hello my name already is test

Would it be possible to separate my findings like this:

Hello my name is test;
Hello Hello test;
Hello my name already is test;

The delimiter does not have to be ';' any other character will work just fine.

1 Answers

Your question is unclear, but, assuming you want lines that start with Hello and to add a semi colon at the end, you can try;

$ sed -n '/^Hello/{s/$/;/p}' input_file
Hello my name is test;
Hello Hello test;
Hello my name already is test;
Related