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.
$ cat geekfault.txt | wgetpaste
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:
$ cat geekfault.txt | wgetpaste -r
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
$ wgetpaste -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
$ cat geekfault.txt | wgetpaste -s ca
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:
$ cat geekfault.py | wgetpaste -l 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!
$ wgetpaste -h
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:
$ cat file_not_found 2>&1 | wgetpaste
Your paste can be seen here: http://paste.pocoo.org/show/263533/

Vus : 674
Publié par Geekfault : 45