492 votes

Comment puis-je copier la sortie d'une commande directement dans mon presse-papier?

Comment puis-je rediriger la sortie d'une commande dans mon presse-papiers et le coller lors de l'utilisation d'un terminal? Par exemple:

cat file | clipboard

561voto

Legend Points 29504

J'ai toujours voulu faire cela et trouve une belle et facile de le faire. J'ai écrit la procédure complète, juste au cas où quelqu'un d'autre en a besoin.

Tout d'abord installer un 16kB programme appelé" xclip:

sudo apt-get install xclip

Vous pouvez rediriger la sortie en xclip à être copié dans le presse-papiers:

cat file | xclip

Pour coller le texte que vous venez de copier, vous ne pouvez utiliser:

xclip -o

Pour simplifier la vie, vous pouvez configurer un alias dans votre .bashrc fichier que j'ai fait:

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

Pour voir combien c'est utile, imaginez que je veux ouvrir mon chemin dans une nouvelle fenêtre de terminal (il peut y avoir d'autres façons de le faire comme Ctrl+T sur certains systèmes, mais c'est juste pour des fins d'illustration):

Terminal 1:
pwd | c

Terminal 2:
cd `v`

Avis de l' ` ` autour v. Cela exécute v comme une première commande, puis remplace en place pour cd à utiliser.

Mise à JOUR de @khotin:

cat file | xclip` only copies the content to the 'X' clipboard, if you want to paste somewhere else other than a 'X' application, try this one: 

cat file | xclip -selection clipboard

165voto

DavidPhillipOster Points 1294

Sur OS X, utilisez pbcopy . pbpaste va dans la direction opposée.

43voto

Bob Enohp Points 96

Pour les gens qui sont toujours intéressés à ce sujet. J'ai écrit ce petit script qui prend la conjecture hors de le copier/coller des commandes.

La version Linux du script s'appuie sur xclip être déjà installé sur votre système. Le script est appelé le presse-papiers.

#!/bin/bash
# Linux version
# Use this script to pipe in/out of the clipboard
#
# Usage: someapp | clipboard     # Pipe someapp's output into clipboard
#        clipboard | someapp     # Pipe clipboard's content into someapp
#

if command -v xclip 1>/dev/null; then
    if [[ -p /dev/stdin ]] ; then
        # stdin is a pipe
        # stdin -> clipboard
        xclip -i -selection clipboard
    else
        # stdin is not a pipe
        # clipboard -> stdout
        xclip -o -selection clipboard
    fi
else
    echo "Remember to install xclip"
fi

La version OS X du script s'appuie sur pbcopy et pbpaste qui sont préinstallés sur tous les macs.

#!/bin/bash
# OS X version
# Use this script to pipe in/out of the clipboard
#
# Usage: someapp | clipboard     # Pipe someapp's output into clipboard
#        clipboard | someapp     # Pipe clipboard's content into someapp
#

if [[ -p /dev/stdin ]] ; then
    # stdin is a pipe
    # stdin -> clipboard
    pbcopy
else
    # stdin is not a pipe
    # clipboard -> stdout
    pbpaste
fi

En utilisant le script est très simple puisqu'il vous suffit de tuyau dans ou hors de l' clipboard comme le montre ces deux exemples.

$ cat file | clipboard

$ clipboard | less

Profitez de

3voto

Dirk Duschinger Points 11

J'ai fait un petit outil qui fournit des fonctionnalités similaires, sans l'aide de xclip ou xsel. stdout est copié dans le presse-papiers et peut être collé à nouveau dans le terminal. Voir:

https://sourceforge.net/projects/commandlinecopypaste/

Notez que cet outil n'a pas besoin d'un X-session. Le presse-papiers peut seulement être utilisée à l'intérieur du terminal et n'a pas à être collé par Ctrl+V ou du milieu de la souris-cliquez sur les autres X-windows.

-6voto

DenniJensen Points 163

Il est beaucoup plus facile. Appuyez sur Maj + Ctrl + C pour copier. Et Maj + Ctrl + V pour coller.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X