I have a temporary file generated by a cron job every half hour that generates output like this:
---- kind=<data> field=<value> humankind=<data> kind=<data> field=<value> humankind=<data> kind=<data> field=<value> humankind=<data>
I want to format it so it looks like this:
---- kind=<data> field=<value> humankind=<data>
kind=<data> field=<value> humankind=<data>
kind=<data> field=<value> humankind=<data>
I have tried the following sed expressions:
sed -r 's|\s(kind=)|\n\1|g' /path/to/file
But then the output looks like:
---- <------ The first line should be here
kind=<data> field=<value> humankind=<data>
kind=<data> field=<value> humankind=<data>
kind=<data> field=<value> humankind=<data>
Using this expression:
sed -r 's|[^-]{4} (kind=)|\n\1|g' /path/to/file
Generates the output I want, but with weird behavior:
---- kind=<data> field=<value> humankind=<incomplete data>
kind=<data> field=<value> humankind=<incomplete data>
kind=<data> field=<value> humankind=<incomplete data>
For some reason, the last field (which contains part of the pattern used in the sed expression) is only printing the first two characters of 'incomplete data'.
What am I doing wrong?