Hide

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again.

Delete that bloated snippets file you've been using and share your personal repository with the world. 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.


If you have a new feature suggestion or find a bug, please get in touch via http://commandlinefu.uservoice.com/

Get involved!

You can sign-in using OpenID credentials, or register a traditional username and password.

First-time OpenID users will be automatically assigned a username which can be changed after signing in.

Hide

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:

Hide

News

2011-03-12 - Confoo 2011 presentation
Slides are available from the commandlinefu presentation at Confoo 2011: http://presentations.codeinthehole.com/confoo2011/
2011-01-04 - Moderation now required for new commands
To try and put and end to the spamming, new commands require moderation before they will appear on the site.
2010-12-27 - Apologies for not banning the trolls sooner
Have been away from the interwebs over Christmas. Will be more vigilant henceforth.
2010-09-24 - OAuth and pagination problems fixed
Apologies for the delay in getting Twitter's OAuth supported. Annoying pagination gremlin also fixed.
Hide

Tags

Hide

Functions

dmesg with colored human-readable dates

Terminal - dmesg with colored human-readable dates
dmesg -T|sed -e 's|\(^.*'`date +%Y`']\)\(.*\)|\x1b[0;34m\1\x1b[0m - \2|g'
2012-07-31 22:21:07
User: jlaunay
Functions: dmesg sed
19
dmesg with colored human-readable dates

Use sed to color the output of a human-readable dmesg output

Alternatives

There are 2 alternatives - vote for the best!

Terminal - Alternatives

Know a better way?

If you can do better, submit your command here.

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"

Comment by jlaunay 104 weeks 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'

Comment by jlaunay 103 weeks and 6 days ago

Not working on CentOS:

dmesg: invalid option -- T

Comment by dynaguy 103 weeks and 6 days ago

-T option to dmesg is available on Fedora but not RHEL5/6.

Comment by foobrew 103 weeks and 6 days 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

Comment by jlaunay 103 weeks and 6 days 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.

Comment by dynaguy 103 weeks and 5 days 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

Comment by dynaguy 103 weeks and 5 days ago

@dynaguy Good to know if I have to use CentOS one day.Thks

Comment by jlaunay 103 weeks and 5 days ago

"dmesg -T" gives:

"dmesg: invalid option -- 'T'

Usage: dmesg [-c] [-n level] [-r] [-s bufsize]"

Comment by mpb 103 weeks and 4 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.

Comment by jlaunay 103 weeks and 4 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...

Comment by bartonski 103 weeks and 4 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...

Comment by bartonski 103 weeks and 4 days ago

dmesg |ccze -A

Comment by kxdemon 74 weeks and 1 day ago

Your point of view

You must be signed in to comment.

Related sites and podcasts