wgetpaste, de la console au pastebin
Utilisés pour le partage de logs, l’échange de patch, la diffusion de quotes, et des dizaines d’autres choses, les pastebin sont sans conteste des outils très important dans le monde des logiciels libres.
Or, la plupart d’entre nous effectuent des démarches assez fastidieuses pour mettre du contenu sur ces fameux pastebin: copier le texte, ouvrir un navigateur, aller sur le pastebin, coller le texte, récupérer l’url. Ceci est long et peu pratique. Heureusement, un logiciel libre existe pour simplifier les choses: wgetpaste.
Wgetpaste, dont le site n’est pas vraiment explicite, va vous permettre, via un pipe “|”, d’envoyer aisément le résultat d’une commande vers un pastebin, et de récupérer l’URL de destination.
En voici quelques exemples d’utilisation, qui vous parleront surement plus:
Le comportement par défault, utilisant paste.pocoo.org
Le plus simple pour émettre sur un pastebin est d’utiliser “wgetpaste”, sans options. Le service par défaut est paste.pocoo.org.
Your paste can be seen here: http://paste.pocoo.org/show/263519/
De cette manière, nous avons l’URL directe où a été posté notre fichier.
Pour aller plus loin, nous pouvons donner l’option -r (“raw”) afin de recevoir l’URL du texte sans formatage ni fioriture:
Your raw paste can be seen here: http://paste.pocoo.org/raw/263520/
Choisir un autre service de pastebin
Vous pouvez obtenir la liste des services en utilisant l’option -S
Services supported: (case sensitive):
Name: | Url:
=========|=================
ca | http://pastebin.ca/
codepad | http://codepad.org/
dpaste | http://dpaste.com/
osl | http://pastebin.osuosl.org/
*pocoo | http://paste.pocoo.org/
Ensuite, vous pouvez sélectionner le service avec l’option -s
Your paste can be seen here: http://pastebin.ca/1943411
La coloration syntaxique
La liste des syntaxes est disponible avec l’option -L (combinable avec l’option -s).
Voici un exemple de post d’un fichier python:
Your paste can be seen here: http://paste.pocoo.org/show/263529/
Aller plus loin
Bien d’autres choses sont disponibles. La liste est disponible avec l’option -h… Je vous laisse découvrir tout cela!
Usage: /usr/bin/wgetpaste [options] [file[s]]
Options:
-l, --language LANG set language (defaults to "Plain Text")
-d, --description DESCRIPTION set description (defaults to "stdin" or filename)
-n, --nick NICK set nick (defaults to your username)
-s, --service SERVICE set service to use (defaults to "pocoo")
-e, --expiration EXPIRATION set when it should expire (defaults to "1 month")
-S, --list-services list supported pastebin services
-L, --list-languages list languages supported by the specified service
-E, --list-expiration list expiration setting supported by the specified service
-u, --tinyurl URL convert input url to tinyurl
-c, --command COMMAND paste COMMAND and the output of COMMAND
-i, --info append the output of `emerge --info`
-I, --info-only paste the output of `emerge --info` only
-x, --xcut read input from clipboard (requires x11-misc/xclip)
-X, --xpaste write resulting url to the X primary selection buffer (requires x11-misc/xclip)
-C, --xclippaste write resulting url to the X clipboard selection buffer (requires x11-misc/xclip)
-r, --raw show url for the raw paste (no syntax highlighting or html)
-t, --tee use tee to show what is being pasted
-v, --verbose show wget stderr output if no url is received
--completions emit output suitable for shell completions (only affects --list-*)
--debug be *very* verbose (implies -v)
-h, --help show this help
-g, --ignore-configs ignore /etc/wgetpaste.conf, ~/.wgetpaste.conf etc.
--version show version information
Defaults (DEFAULT_{NICK,LANGUAGE,EXPIRATION}[_${SERVICE}] and DEFAULT_SERVICE)
can be overridden globally in /etc/wgetpaste.conf or /etc/wgetpaste.d/*.conf or
per user in any of ~/.wgetpaste.conf or ~/.wgetpaste.d/*.conf.
Bon amusement!
Dans c’est article, nous n’avons utilisé que la commande “cat”. Mais ceci fonctionne avec n’importe quelle commande.
Attention! Wgetpaste ne prend en compte que ce qui sort sur la sortie standard (stdout). Pour prendre stderr en compte, vous pouvez utiliser 2>&1. Par exemple:
Your paste can be seen here: http://paste.pocoo.org/show/263533/
haha, ça va *tellement* m’aider quand je casse mon système, que X se lance plus et que j’implore de l’aide via irc en tty :’)
Article intéressant.
Typo dans le 2e exemple (il y a toujours les fioritures).
Perso, je préfère largement les gist, les avantages sont innombrables:
– éditable
– aussi flexible qu’un repo git à 1 niveau de hiérarchie (=pas de sous-dossiers) (donc plusieurs fichiers, possibilité de cloner, de fork, de voir les diff, …),
– appartenance à un user et donc facilement retrouvable
– se base sur l’extension du fichier pour détecter le langage
D’où, je trouve ce concurrent beaucoup plus intéressant:
http://github.com/defunkt/gist
Ça nécessite un compte GitHub, mais c’est pas vraiment un problème.
Mais bon, si c’est vraiment juste pour mettre en ligne du texte sans format, destiné à être “jeté”, j’imagine que ce genre de service est meilleur.
@Benoit Daloze
J’allais oublier: l’exécutable a aussi une longueur correcte 🙂
@roidelapluie: Ou alors, tu installes Cairo-Dock et tu déposes ton texte sur sur l’applet ‘Déposer pour Partager’ 😀 😛 (fonctionne aussi avec un texte ou un fichier depuis le presse papier 😉 )
🙂
En plus, ça rend super bien Cairo-Dock (qui vient de sortir en version 2.2.0) sur Musca 😛
Excuse moi mais comment l’installer ce petit logiciel ?
@Denis: sous Gentoo il est dans portage, il doit donc être dans les repos des distirubtions..
Sinon, en réponse à l’article, y’a aussi pastebin, non? (app-text/pastebin) Ça va paster sur pastebin.com
Un petit script python http://github.com/mattoufoutu/scripts/blob/master/pydeone.py qui permet de faire l a même chose avec ideone http://www.ideone.com/
J’utilise depuis longtemps pastebinit qui fait ça très bien sans que j’ai besoin de réinventer la roue avec un script python 😉
Je n’ai rien contre la variété génétique, mais ce n’est pas très nouveau, pour ne pas dire une vieille méthode.
2zay08