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.

Universal configuration monitoring and system of record for IT.

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



Psst. Open beta.

Wow, didn't really expect you to read this far down. The latest iteration of the site is in open beta. It's a gentle open beta-- not in prime-time just yet. It's being hosted over at UpGuard (link) and you are more than welcome to give it a shot. Couple things:

  • » The open beta is running a copy of the database that will not carry over to the final version. Don't post anything you don't mind losing.
  • » If you wish to use your user account, you will probably need to reset your password.
Your feedback is appreciated via the form on the beta page. Thanks! -Jon & CLFU Team

count occurences of each word in novel David Copperfield

Terminal - count occurences of each word in novel David Copperfield
wget -q -O- http://www.gutenberg.org/dirs/etext96/cprfd10.txt | sed '1,419d' | tr "\n" " " | tr " " "\n" | perl -lpe 's/\W//g;$_=lc($_)' | grep "^[a-z]" | awk 'length > 1' | sort | uniq -c | awk '{print $2"\t"$1}'
2009-05-04 16:00:39
User: alperyilmaz
Functions: awk grep perl sed sort tr uniq wget
count occurences of each word in novel David Copperfield

This command might not be useful for most of us, I just wanted to share it to show power of command line.

Download simple text version of novel David Copperfield from Poject Gutenberg and then generate a single column of words after which occurences of each word is counted by sort | uniq -c combination.

This command removes numbers and single characters from count. I'm sure you can write a shorter version.


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

?Is a joke?

curl http://www.gutenberg.org/dirs/etext96/cprfd10.txt|awk -v RS='[^a-zA-Z0-9]' /./'{a[$1]++}END{for (i in a) print a[i], i|"sort -n"}'
Comment by point_to_null 381 weeks and 5 days ago

I like the posted command better than the one by point_to_null. While point_to_null's is simpler and shorter, it does not strip out numbers and single characters. The download stats are nice, but not really an improvement.

Comment by jestin 381 weeks and 5 days ago

@point_to_null: wow! i wouldn't imagine this can be done with as short command as yours. you must be a commandline guru..

Comment by alperyilmaz 381 weeks and 5 days ago

Nice one! point_to_null gets points for doing it with fewer pipes.

alperyilmaz gets points for using more tools though (in order: wget, sed, tr, tr, perl, grep, awk, sort, uniq, awk) showing people what piping really means.

Comment by bwoodacre 381 weeks and 5 days ago

what the...

Comment by linuxrawkstar 381 weeks and 5 days ago

...exactly. This doesn't make much sense. Any explanation why someone would want to count the words in this novel ?

Comment by Alanceil 381 weeks and 4 days ago

@Alanceil something like this could be modified to find occurrences of words or letters following each other to create a Markov chain modeled after a given text. That would be useful for a text generator if you needed one...

Comment by leon 381 weeks and 3 days ago

tag clouds, semantic analysis, you know, stuff like that.

Comment by mondotofu 343 weeks and 6 days ago

Your point of view

You must be signed in to comment.