dmesg with colored human-readable dates

dmesg -T|sed -e 's|\(^.*'`date +%Y`']\)\(.*\)|\x1b[0;34m\1\x1b[0m - \2|g'
Use sed to color the output of a human-readable dmesg output

20
By: jlaunay
2012-07-31 22:21:07

These Might Interest You

What Others Think

With sed it's easy to choose the bash color to use ;34 here for blue. You can also use grep to highlight the date instead of sed. dmesg -T| grep --color "^\[.*`date +%Y`\]" And export the GREP_COLORS variable to change the color. ex : export GREP_COLORS="fn=34:mc=01;30:ms=33:sl=21:cx=31"
jlaunay · 307 weeks and 1 day ago
dmesg -T works on my archlinux but on my debian server option -T does not exist. You can use perl if your dmesg does not support -T : dmesg|perl -ne "BEGIN{\$a= time()- qx!cat /proc/uptime!};s/\[\s*(\d+)\.\d+\]/localtime(\$1 + \$a)/e; print \$_;" | sed -e 's|\(^.*'`date +%Y`' \)\(.*\)|\x1b[0;34m\1\x1b[0m - \2|g'
jlaunay · 307 weeks and 1 day ago
Not working on CentOS: dmesg: invalid option -- T
dynaguy · 307 weeks and 1 day ago
-T option to dmesg is available on Fedora but not RHEL5/6.
foobrew · 307 weeks and 1 day ago
@dynaguy so as said on my previous comment on CentOS you should try : dmesg|perl -ne "BEGIN{\$a= time()- qx!cat /proc/uptime!};s/\[\s*(\d+)\.\d+\]/localtime(\$1 + \$a)/e; print \$_;" | sed -e 's|\(^.*'`date +%Y`' \)\(.*\)|\x1b[0;34m\1\x1b[0m - \2|g' If you get the error : bash: !}: event not found You need to turn off bash history substitution with : set +H
jlaunay · 307 weeks and 1 day ago
@jlaunay I just tried on CentOS 6.3 64bit. After "set +H" there is no more error message. But your command still doesn't give time stamp.
dynaguy · 307 weeks ago
Recent CentOS use rsyslog. What I did is edit /etc/rsyslog.conf, add: kern.* /var/log/kern.log then "service rsyslog restart" Now you can view dmesg in file /var/log/kern.log with time/data
dynaguy · 306 weeks and 6 days ago
@dynaguy Good to know if I have to use CentOS one day.Thks
jlaunay · 306 weeks and 6 days ago
"dmesg -T" gives: "dmesg: invalid option -- 'T' Usage: dmesg [-c] [-n level] [-r] [-s bufsize]"
mpb · 306 weeks and 6 days ago
@mpb you should have a look at the previous comments. I gave an alternative usefull on OS using a dmesg which doesn't support the -T option.
jlaunay · 306 weeks and 6 days ago
@dynaguy -- no need to turn off bash history substitution. Change the bangs to ':'. The bangs are simply used as delimiters to the qx function, and were simply chosen as a character which wouldn't conflict with all of the other possible delimiters being used in the expression being quoted. Using ':' instead doesn't cause the history substitution problems...
bartonski · 306 weeks and 5 days ago
@dynaguy -- no need to turn off bash history substitution. Change the bangs to ':'. The bangs are simply used as delimiters to the qx function, and were simply chosen as a character which wouldn't conflict with all of the other possible delimiters being used in the expression being quoted. Using ':' instead doesn't cause the history substitution problems...
bartonski · 306 weeks and 5 days ago
dmesg |ccze -A
kxdemon · 277 weeks and 3 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: