Copy Shell Output via the Command Line

By  on  
Oftentimes I'll want to copy the output of a shell command execution but can't get the whole output because it's larger than the terminal's buffer length, so I'll need to write to file for easy viewing, or I'll simply be annoyed that I have to click-hold-drag to copy the output.  Shouldn't there be an easier way?  There is:  pbcopy and clip.  Using pbcopy within the shell, the output of an execution can automatically be added to the copy queue (or clipboard):
# Copy the source of davidwalsh.name to the clipboard on Mac
curl davidwalsh.name | pbcopy

# Copy the source of davidwalsh.name to the clipboard on Windows
curl davidwalsh.name | clip
Piping pbcopy at the end of the command makes this magic possible.  So what do I look forward to using this for?  My colleague Luke showed me how he gets the commit hash from the master branch without needing to go to GitHub to get it:
alias ghash='git rev-parse HEAD && git rev-parse HEAD | pbcopy'
I look forward to using pbcopy more -- an excellent utility to allow me to avoid lame cursor click-hold-drag to get the output I want!

Recent Features

  • By
    5 More HTML5 APIs You Didn’t Know Existed

    The HTML5 revolution has provided us some awesome JavaScript and HTML APIs.  Some are APIs we knew we've needed for years, others are cutting edge mobile and desktop helpers.  Regardless of API strength or purpose, anything to help us better do our job is a...

  • By
    Introducing MooTools Templated

    One major problem with creating UI components with the MooTools JavaScript framework is that there isn't a great way of allowing customization of template and ease of node creation. As of today, there are two ways of creating: new Element Madness The first way to create UI-driven...

Incredible Demos

  • By
    Pure CSS Slide Up and Slide Down

    If I can avoid using JavaScript for element animations, I'm incredibly happy and driven to do so.  They're more efficient, don't require a JavaScript framework to manage steps, and they're more elegant.  One effect that is difficult to nail down with pure CSS is sliding up...

  • By
    Using MooTools to Instruct Google Analytics to Track Outbound Links

    Google Analytics provides a wealth of information about who's coming to your website. One of the most important statistics the service provides is the referrer statistic -- you've gotta know who's sending people to your website, right? What about where you send others though?

Discussion

  1. MaxArt

    It may be silly to notice that this isn’t for Windows…

  2. Might be worth adding instructions using xcopy on Linux, and clip on Windows

  3. I am on Linux and I use http://www.vergenet.net/~conrad/software/xsel/

    Use it like this:
    curl davidwalsh.name | xsel –clipboard –input

    You can also alias is so you can use pbcopy

    To do that add alias pbcopy=’xsel –clipboard –input’ to your ~/:bashrc

  4. suprsidr

    windows would be curl davidwalsh.name | clip
    assuming you had curl for windows installed ;)

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!