Mail logs are incredibly difficult to read. How could I output a blank line between each line printed on the command line? For example, say I’m grep-ing the log. That way, multiple wrapped lines aren’t being confused.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
sed G # option: g G Copy/append hold space to pattern space.
G is not often used, but is nice for this purpose. sed maintains two buffer spaces: the “pattern space” and the “hold space”. The lines processed by sed usually flow through the pattern space as various commands operate on its contents (s///, p, etc.); the hold space starts out empty and is only used by some commands.
The G command appends a newline and the contents of the hold space to the pattern space. The above sed program never puts anything in the hold space, so G effectively appends just a newline to every line that is processed.
Method 2
Use awk to add an extra newline. This also lets you filter out things you don’t want.
awk '{print $0,"n"}' | less
Method 3
Use sed and replace the whole line by itself plus one extra newline character:
grep foo /var/log/maillog | sed -e "s/^.*$/&1n/"
Method 4
Is this what you are after?
grep SPAM mail.log | while read -r line; do echo; echo $line; done
Method 5
Pipe | any output to:
sed G
Example:
ls | sed G
If you man sed you will see
G Append’s a newline character followed by the contents of the hold space to the pattern space.
Method 6
If it’s for more than just have look, I prefer to send them to a text file and open with a text editor so you can set the lines to wrap or not and do searches easily…
and delete the unwanted lines and so on without having to type a lot of commands.
cat file.log > log.txt
and gedit log.txt or a terminal editor like nano
Edit: or cp file.log log.txt wich is of course easier and faster… thanks to KeithB comment
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0