linuxshellunixterminalclipboard

How can I copy the output of a command directly into my clipboard?


How can I pipe the output of a command into my clipboard and paste it back when using a terminal? For instance:

cat file | clipboard

Solution

  • One way of doing it follows:

    1. Install xclip, such as:

      sudo apt-get install xclip

    2. Pipe the output into xclip to be copied into the clipboard:

      cat file | xclip

    3. Paste the text you just copied into a X application:

      xclip -o

    To paste somewhere else other than an X application, such as a text area of a web page in a browser window, use:

    cat file | xclip -selection clipboard
    

    Consider creating an alias:

    alias "c=xclip"
    alias "v=xclip -o"
    

    To see how useful this is, imagine I want to open my current path in a new terminal window (there may be other ways of doing it like Ctrl+T on some systems, but this is just for illustration purposes):

    Terminal 1:
    pwd | c
    
    Terminal 2:
    cd `v`
    

    Notice the ` ` around v. This executes v as a command first and then substitutes it in-place for cd to use.

    Only copy the content to the X clipboard

    cat file | xclip