web-dev-qa-db-fra.com

Comment puis-je compter les caractères du texte copié dans le presse-papiers?

Je sélectionne du texte et le copie en utilisant Ctrl + c. Maintenant, le texte est dans le presse-papiers du système. Je peux coller ce code en utilisant Ctrl + v dans un fichier et exécutez wc pour que le fichier vérifie le nombre de caractères, de lignes et de mots.

Mais si je veux compter les caractères du texte dans le presse-papiers sans l'enregistrer dans un fichier, y a-t-il une solution?

9
alhelal

Vous devrez en quelque sorte libérer le contenu du presse-papiers. Éviter les fichiers peut être fait via un pipeline . Pour cela, il existe l'utilitaire xclip. Il n'est pas installé par défaut, donc à moins qu'un autre programme ne l'ait installé en tant que dépendance, vous voudrez peut-être l'exécuter

Sudo apt-get install xclip

Une fois que vous l'avez installé, vous pouvez le faire

xclip -o sel clip | wc

Notez qu'il existe plus d'un presse-papiers aka sélection sous Linux, d'où la raison pour laquelle l'utilisation de -o sel clip drapeaux. Bien sûr, avec l'utilisation d'un pipeline, cela évite l'utilisation de fichiers intermédiaires comme demandé dans la question.

Un autre avantage secondaire de cet utilitaire est que vous pouvez utiliser cet utilitaire non seulement dans un terminal GUI, mais dans n'importe quelle console tty virtuelle en ajoutant DISPLAY=:0 au début de la commande (ou de l'autre affichage approprié, si votre serveur X Window aka GUI est configuré pour plusieurs écrans). Voir le post ici sur ce même sujet. Ainsi, vous évitez d'utiliser des raccourcis clavier pour libérer le contenu du presse-papiers et vous pouvez écrire des scripts qui utilisent le presse-papiers d'une manière plus puissante.

Il existe également un autre utilitaire appelé xsel qui fonctionne de manière similaire. Vous pouvez en lire plus dans un article connexe .

9
Sergiy Kolodyazhnyy

Une solution consiste à "faire écho" le contenu du presse-papiers et à passer le contenu à wc:

$ echo -n "your text" | wc
  0 2 9

0 nouvelle ligne, 2 mots et 9 caractères.

Comme votre texte est dans votre presse-papiers, vous pouvez facilement coller le contenu dans le terminal en utilisant Ctrl+Shift+v.

2
alhelal