Search Google from the command line and return the first result.

The command is too big to fit here. :( Look at the description for the command, in readable form! :)
Yep, now you can finally google from the command line! Here's a readable version "for your pleasure"(c): google() { # search the web using google from the commandline # syntax: google google query=$(echo "$*" | sed "s:%:%25:g;s:&:%26:g;s:+:%2b:g;s:;:%3b:g;s: :+:g") data=$(wget -qO - "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=$query") title=$(echo "$data" | tr '}' '\n' | sed "s/.*,\"titleNoFormatting//;s/\":\"//;s/\",.*//;s/\\u0026/'/g;s/\\\//g;s/#39\;//g;s/'amp;/\&/g" | head -1) url="$(echo "$data" | tr '}' '\n' | sed 's/.*"url":"//;s/".*//' | head -1)" echo "${title}: ${url} | http://www.google.com/search?q=${query}" } Enjoy :)
Sample Output
hunterm:~ >>> google bash
bash.org: http://www.bash.org/ | http://www.google.com/search?q=bash

-7
By: hunterm
2011-01-05 02:45:28

What Others Think

I like the idea very much, and may even use it, but there are a few problems. 1) commandlinefu has munged your indentation, so the "readable version" is not that readable. 2) this script is *way* too long for what it does. There's no reason it should be over commandlinefu's limit, which I think is 140 characters. 3) how is this superior to "surfraw"? Currently, I search from the commandline all the time by typing $ sr google laziness impatience hubris 4) I notice you're forking a lot of processes (via pipes), which may make searching slower than simply switching to an already open browser and hitting ^J. 5) I'd like to see something like this as a building block for other commandlines and scripts, so it should have well defined output that is easily parasable and maybe even some basic command line flags.
hackerb9 · 545 weeks and 2 days ago
This particular papers fabulous, and My spouse and i enjoy each of the perform that you have placed into this. I’m sure that you will be making a really useful place. I has been additionally pleased. Good perform! http://www.rotaradar.com/pegasus-ucak-bileti">uçak bileti pegasus
KayGasaway · 47 weeks and 6 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: