Lorsque vous appuyez sur Ctrl-C sur un fichier dans le gestionnaire de fichiers, le contenu du fichier N'EST PAS copié dans le Presse-papiers. Un test simple: sélectionnez un fichier dans le gestionnaire de fichiers, appuyez sur Ctrl-C, ouvrez un éditeur de texte, appuyez sur Ctrl-V. Le résultat n'est pas le contenu du fichier mais son chemin complet.
En réalité, la situation est un peu plus compliquée, car vous ne pouvez pas faire le contraire: copier une liste de noms de fichiers depuis un éditeur de texte et les coller dans le gestionnaire de fichiers.
Pour copier des données de la ligne de commande vers le presse-papiers X11, vous pouvez utiliser la xclip
commande, qui peut être installée avec
sudo apt-get install xclip
copier le contenu d'un fichier ou la sortie d'une commande dans le presse-papier
cat ./myfile.txt|xclip -i
le texte peut ensuite être collé quelque part à l'aide du bouton central de la souris (appelé "tampon de sélection primaire").
Si vous souhaitez copier des données dans la sélection "Presse-papiers" afin de pouvoir les coller dans une application avec Ctrl-V, vous pouvez le faire.
cat ./myfile.txt|xclip -i -selection clipboard
Pour pouvoir copier des fichiers à partir de la ligne de commande et les coller dans un gestionnaire de fichiers, vous devez spécifier un "atome cible" correct afin que le gestionnaire de fichiers reconnaisse les données dans le Presse-papiers et fournisse également les données au format correct. Heureusement, en cas de copie de fichiers dans un gestionnaire de fichiers, il ne s'agit que d'une liste de noms de fichiers absolus, chacun sur une nouvelle ligne, ce qui est facile à générer à l'aide de la find
commande:
find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list
(au moins, cela fonctionne pour moi dans KDE). Vous pouvez maintenant envelopper un petit script que vous pouvez appeler, par exemple cb
:
#!/bin/sh
xclip -i -selection clipboard -t text/uri-list
alors vous le mettez dedans ~/bin
, placez le bit exécutable dessus et utilisez-le comme ceci:
find ${PWD} -name "*.txt"| cb
Nice, n'est ce pas?