Posts a file to sprunge.us and copies the related url to the clipboard

sprunge () { curl -s -F "sprunge=@$1" http://sprunge.us | xclip -selection clipboard && xclip -selection clipboard -o; }

0
By: return13
2010-11-27 16:23:03

These Might Interest You

  • NAME sprunge: command line pastebin: SYNOPSIS | curl -F 'sprunge= DESCRIPTION add ? to resulting url for line numbers and syntax highlighting EXAMPLES ~$ cat bin/ching | curl -F 'sprunge= http://sprunge.us/VZiY ~$ firefox http://sprunge.us/VZiY?py#n-7 SEE ALSO http://github.com/rupa/sprunge Show Sample Output


    2
    alias pasteit="curl -F 'sprunge=<-' http://sprunge.us"
    frdmn · 2012-07-19 19:46:39 0
  • echo "Hello world!" | sprunge # Redirect a stream to a pastebin sprunge ~/.bashrc # Send a file to a pastebin


    1
    sprunge() { curl -F 'sprunge=<-' http://sprunge.us < "${1:-/dev/stdin}"; }
    malathion · 2014-08-26 17:47:31 0
  • Sprunge.us is a code/text sharing site like pastebin, but it is easy to post stuff from the command line. How it works: :w !command In vim, w writes the current tab to a file when a filename is given afterwards, but if !command is given, the output is piped to the stdin of command. curl -F "sprunge=<-" http://sprunge.us curl is an HTTP client. The -F option does an HTTP post to the given address. The data in the quotes is passed in the post. The "sprunge=" part sets up a fieldname - the part that follows is what is associated with the name. The "<" tells curl to send data from the file descriptor that follows it. The "-" in bash is a file descriptor that points to stdin instead of an actual file; in this case, stdin is being piped in from vim. After we send the HTTP post to sprunge.us, it will give back a url that points to the data you just sent. | xclip xclip is a utility that lets you put stuff in your clipboard or selection buffer. This part uses a bash pipe ( | ) to redirect the stdout of the previous command to the stdin of the next command. So, we're capturing the URL that curl gave us and putting it into the selection buffer, ready to paste into IRC or a forum. Notes: Of course, for this to work, you must have curl (which comes by default on most distroes), and xclip installed. When you share the url, you can append "?lang" to highlight and have line numbers. Check out http://sprunge.us/BZXV?log for line numbers and http://sprunge.us/BZXV?ruby for highlighting. If you prefer to use ctrl-v (paste from clipboard) instead of middle-click (paste from selection buffer), look up options on xclip - you can do that. Show Sample Output


    16
    :w !curl -F "sprunge=<-" http://sprunge.us | xclip
    shawnjgoff · 2010-04-25 00:43:37 3
  • create simple encrypted notes to yourself using a passphrase on sprunge.us Show Sample Output


    2
    function cpaste () { gpg -o - -a -c $1 | curl -s -F 'sprunge=<-' http://sprunge.us } function dpaste () { curl -s $1 | gpg -o - -d }
    gml · 2011-02-26 11:22:08 0

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: