GNU/Linux >> Tutoriels Linux >  >> Linux

Copier le contenu d'un fichier dans le presse-papiers sans afficher son contenu ?

Comment copier le contenu d'un fichier sous UNIX sans afficher le contenu du fichier. Je ne veux pas chat ou vi pour voir le contenu.

Je veux les copier dans le presse-papiers pour pouvoir les coller dans mon bloc-notes Windows.

Je ne peux pas copier le fichier de ce serveur vers un autre en raison de restrictions d'accès.

Réponse acceptée :

X11

Si vous utilisez X11 (l'interface graphique la plus courante sur les systèmes traditionnels basés sur Unix ou Linux), pour copier le contenu d'un fichier dans la sélection X11 CLIPBOARD sans afficher dessus, vous pouvez utiliser le xclip ou xsel utilitaire.

xclip -sel c < file

Ou :

xsel -b < file

pour stocker le contenu du file comme sélection CLIPBOARD X11.

Pour stocker la sortie d'une commande :

mycommand | xclip -sel c
mycommand | xsel -b

Notez qu'il doit être stocké à l'aide d'un encodage UTF-8, sinon le collage ne fonctionnera pas correctement. Si le file est encodé à l'aide d'un autre jeu de caractères, vous devez d'abord convertir en UTF-8, comme :

<file iconv -f latin1 -t utf8 | xclip -sel c

pour un fichier encodé en latin1 /iso8859-1 .

xsel ne fonctionne pas avec des données binaires (il n'accepte pas les octets nuls), mais xclip fait.

Pour le stocker en tant que CUT_BUFFER (ceux-ci sont encore interrogés par certaines applications comme xterm lorsque rien ne réclame les sélections CLIPBOARD ou PRIMARY X et n'a pas besoin d'avoir un processus en cours d'exécution pour le servir comme pour les sélections), bien que vous ne vouliez ou n'ayez probablement pas besoin de l'utiliser de nos jours :

xprop -root -format CUT_BUFFER0 8s -set CUT_BUFFER0 "$(cat file)"

(supprime les caractères de fin de ligne de file ).

Écran GNU

GNU screen a le readbuf commande pour glisser le contenu d'un fichier dans son propre tampon copier-coller (que vous collez avec ^A] ). Donc :

screen -X readbuf file

Apple OS/X

Même si Apple OS/X peut utilisez X11. Ce n'est pas le cas par défaut, sauf si vous exécutez une application X11. Vous pourriez utiliser xclip ou xsel car OS/X devrait synchroniser la sélection X11 CLIPBOARD avec les tampons de presse-papier OS/X, mais ce serait un peu inutile de démarrer le serveur X11 juste pour ça.

Sous OS/X, vous pouvez utiliser le pbcopy commande pour stocker du contenu arbitraire dans tableau de montage tampons :

pbcopy < file

(le codage des caractères du fichier doit être celui de la locale). Pour stocker la sortie d'une commande :

mycommand | pbcopy

Coquillages

La plupart des shells ont leurs propres tampons copier-coller. En mode emacs, les opérations couper et copier stockent le texte copié/coupé sur une pile que vous copiez/collez avec Ctrl-Y , et faites défiler avec Alt+Y

En relation :Prenez la première colonne de 2 fichiers et écrivez-la dans un 3ème fichier ?

zsh CUTBUFFER/killring

En zsh , la pile est stockée dans le $killring tableau et le haut de la pile dans le $CUTBUFFER variable bien que ces variables ne soient disponibles qu'à partir des widgets Zsh Line Editor (zle) et que quelques widgets spécialisés soient le moyen préféré de les manipuler.

Parce que ceux-ci ne sont disponibles que via le ZLE, le faire avec des commandes est un peu compliqué :

zmodload zsh/mapfile
zle-line-init() {
  if [ -n "$FILE_TO_COPY" ]; then
    zle copy-region-as-kill $mapfile[$FILE_TO_COPY]
    unset FILE_TO_COPY
  fi
}
mycommand | pbcopy
mycommand | pbcopy
zle -N zle-line-init
file-copy() FILE_TO_COPY=$1:A       

Le zle-line-init widget spécial est exécuté une fois au début de chaque nouvelle invite de commande. Cela signifie que le fichier ne sera copié qu'à la prochaine invite. Par exemple, si vous faites :

file-copy file; sleep 2

Le fichier ne sera copié qu'après ces 2 secondes.


Linux
  1. Tout est dans le fichier dot - YADM et Homeshick

  2. Comment stocker la sortie de SHOW PROCESSLIST dans un fichier MySQL ?

  3. Grep Word dans un fichier puis copier le fichier ?

  4. Méthode la plus efficace pour vider le contenu d'un fichier ?

  5. Comment répertorier le nième fichier le plus jeune (sans analyser Ls !) ?

Comment éditer un fichier sans changer ses horodatages sous Linux

Copier le contenu du fichier dans le presse-papiers sans les afficher

Comment afficher le contenu d'une archive ou d'un fichier compressé sous Linux

Afficher le contenu d'un fichier dans la ligne de commande Linux

Comment afficher le contenu du fichier de manière récursive ?

Utiliser tail pour suivre un fichier sans afficher les lignes les plus récentes