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.

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.

UpGuard checks and validates configurations for every major OS, network device, and cloud provider.

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:



May 19, 2015 - A Look At The New Commandlinefu
I've put together a short writeup on what kind of newness you can expect from the next iteration of clfu. Check it out here.
March 2, 2015 - New Management
I'm Jon, I'll be maintaining and improving clfu. Thanks to David for building such a great resource!

Top Tags



Working random fact generator

Terminal - Working random fact generator
lynx -dump randomfunfacts.com | grep -A 3 U | sed 1D
2009-05-05 07:52:10
User: xizdaqrian
Functions: grep sed
Working random fact generator

This is a working version, though probably clumsy, of the script submitted by felix001. This works on ubuntu and CygWin. This would be great as a bash function, defined in .bashrc. Additionally it would work as a script put in the path.


There is 1 alternative - vote for the best!

Terminal - Alternatives
wget randomfunfacts.com -O - 2>/dev/null | grep \<strong\> | sed "s;^.*<i>\(.*\)</i>.*$;\1;"
2010-03-30 23:49:30
User: tali713
Functions: grep sed wget

Though without infinite time and knowledge of how the site will be designed in the future this may stop working, it still will serve as a simple straight forward starting point.

This uses the observation that the only item marked as strong on the page is the single logical line that includes the italicized fact.

If future revisions of the page show failure, or intermittent failure, one may simply alter the above to read.

wget randomfunfacts.com -O - 2>/dev/null | tee lastfact | grep \<strong\> | sed "s;^.*<i>\(.*\)</i>.*$;\1;"

The file lastfact, can then be examined whenever the command fails.

wget randomfunfacts.com -O - 2>/dev/null | grep \<strong\> | sed "s;^.*<i>\(.*\)</i>.*$;\1;" | while read FUNFACT; do notify-send -t $((1000+300*`echo -n $FUNFACT | wc -w`)) -i gtk-dialog-info "RandomFunFact" "$FUNFACT"; done
2010-04-02 09:43:32
User: mtron
Functions: grep read sed wc wget

extension to tali713's random fact generator. It takes the output & sends it to notify-osd. Display time is proportional to the lengh of the fact.

Know a better way?

If you can do better, submit your command here.

What others think

how come the original command didnt work in ubuntu is it because of the egrep ????

I have the other synatax running great in my RHEL5 server...

Comment by felix001 468 weeks ago

I'm not sure. I couldn't get it to work at all with the egrep command. Thx for the vote.

Comment by xizdaqrian 468 weeks ago
links -dump randomfunfacts.com | sed '/+-/,/+-/!d'

a better version, since some funfacts may contain over one line.

Comment by talkiwalki 467 weeks and 3 days ago

i like that ;9

Comment by xptonix 464 weeks and 3 days ago

-1 Fails to work on a Mac with macports lynx.

Comment by Rabbit67890 446 weeks and 2 days ago

right after I try talkiwalki's version...

Comment by Rabbit67890 446 weeks and 2 days ago

Only talkiwalki's version works on a mac with the macports links.

Comment by Rabbit67890 446 weeks and 2 days ago

This is a little bit more straight forward and may due to site design stop working but is less finicky by far than relying on a text renderer or positional reference.

wget randomfunfacts.com -O - 2>/dev/null | grep \<strong\> | sed -e "s;^.*<i>\(.*\)</i>.*$;\1;g"
Comment by tali713 421 weeks ago

Your point of view

You must be signed in to comment.