How do I add newlines between lines printed on the command line?

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

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x