Comment puis-je charger le contenu d'un fichier dans le presse-papiers?


81

J'ai des fichiers dans lesquels j'ai besoin de copier leur contenu dans un autre fichier ou dans une application et plutôt que de l'ouvrir, sélectionner tout le texte puis copier et coller. J'aimerais savoir si je peux effectivement catinsérer le contenu du fichier dans le Presse-papiers. Est-ce possible?

Un programme Windows conviendrait, mais une solution fonctionnant sous Linux serait également utile. Je n'utilise pas de Mac mais cela pourrait être utile à d'autres. Points bonus si cela peut être fait en ligne de commande.


1
Aha, je savais que cela avait déjà été demandé à Windows: "Comment diriger le texte de la ligne de commande vers le Presse-papiers" sur superuser.com/questions/97762/… Peut-être laisser cela ouvert pour Linux alors?
Arjan

1
Banlieue. On dirait que je peux utiliser clip.exe pour cela. Voudrais toujours une version non-en ligne de commande cependant. Peut-être via le menu contextuel de Windows Explorer?
Jonathon Watney

Réponses:



51

xclip (probablement disponible dans les dépôts de votre système Linux) fonctionnera pour tout système X11, y compris la plupart des versions de Linux, ou même X fonctionnant sous Windows ou Mac OSX.

Exemple d'utilisation: xclip -sel clip < ~/.ssh/id_rsa.pub


23
Exemple d'utilisation:xclip -sel clip < ~/.ssh/id_rsa.pub
wim


13

Sous Linux et d’autres systèmes possibles qui prennent en charge xclip:

xclip -i -selection c file_to_copy_to_clipboard.txt

J'ai vu @JustinSmith également mentionné, xclipmais il manquait un exemple. J'ai donc dû le rechercher moi-même.

Un autre utile: coller votre presse-papiers dans un fichier.

xclip -o -selection c > file_to_paste_to.txt

La source


2

Utilisez la commande "type" en tant qu'équivalent de "cat" dans Windows pour diriger le contenu des fichiers au format texte dans stdout (sortie standard), car il s'agit de l'émulateur de terminal / invite que vous utilisez (CMD dans Windows). Donc, vous pouvez combiner les commandes dans quelque chose comme ceci:

type myFile.txt > clip 

maintenant le contenu de myFile.txt est transféré dans le tampon clipBoard (je pense que c'est juste un tampon puisqu'il ne s'agit pas de linux). C'est aussi une valeur globale, donc une valeur est détenue à la fois par l'ensemble du système d'exploitation. Donc, c'est pour la fonctionnalité "copier", maintenant pour le "coller":

  • Soit vous voulez ajouter à un fichier existant les valeurs du CLIP comme d'habitude:

    tapez clip >> target.txt (ou votre fichier cible - ajoutera des données sans supprimer celles existantes dans ce fichier cible)

  • Ou, vous voulez ajouter / créer un nouveau fichier avec les valeurs du CLIP comme:

    type clip> target.txt (ou votre fichier cible - ajoutera des données ou OVERWRITE signifie la suppression de l'existant dans ce fichier cible)


1

Utilisez ce programme f2clip. Exécutez-le à partir de la ligne de commande. Il copie le contenu du fichier dans le presse-papier. Je l'utilise pour copier des fichiers texte dans un navigateur Web pour un traitement ultérieur. Téléchargez-le à partir de http://smrz.xf.cz/f2clip.exe ou écrivez le vôtre à partir de cette source (c'est moche):

 program f2clip;

 {$APPTYPE CONSOLE}

 uses
SysUtils,
clipbrd;

var i,r:integer;
    s:string;
 f:file;
 buf:array[0..1024*1024-1] of byte;

 data:string;
 d:pointer;
 begin
 try

 { TODO -oUser -cConsole Main : Insert code here }
    if (paramcount=0) then begin
    writeln('parameters: f2clip filename.txt');
end else begin
    write('parameter count: ');
  writeln(paramcount);  
    for i:=1 to paramcount do begin
    s:=paramstr(i);
    writeln('file: ',s);

    assignfile(f,s);
    reset(f,1);
    BlockRead(f,buf,1024*1024,r);
    writeln('size: ',r);
    buf[r]:=0;

    d:=@(buf[0]);
    data:=PAnsiChar(d);
Clipboard.AsText := data;
    close(f);
  end;

  end;

 except
   on E:Exception do
     Writeln(E.Classname, ': ', E.Message);
 end;
end.

Pardon.


1
+1 J'apprécie cet effort, même si je pense que xclip est une meilleure solution.
0xc0de
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.