url et mot de passe

2012-07-03 | #encodage #url

Pour réduire mes logs, je viens d’utiliser la syntaxe suivante : http://user:password@host:port... Ici, le mot de passe doit être encodé lorsque des caractères non alphanumériques sont utilisés (comprenez 0-9a-zA-Z). Chaque caractère non alphanumérique doit être encodé avec le format “%xx” où xx sera remplacé par le code hexadécimal du caractère. Exemple: def conv(pw): r = '' for c in pw: if not c.isalpha(): r += '%' + '%X' % ord(c) else: r += c return r >>> conv(u'tuéàtu') u'tu\xe9\xe0tu'

Continuer la lecture 


bash, fautes sur commande cd...

2012-07-02 | #bash #cdspell

Si l’option cdspell est positionnée, les fautes de frappe dans la commande cd seront corrigées. Les erreurs prises en compte seront les caractères transposés, les caractères manquants et les caractères trop nombreux. Si un correctif est trouvé, le chemin utilisé pour le cd sera affiché et la commande exécutée. L’option n’est utilisée que dans le cas des shells intéractifs. $ shopt -s cdspell $ cd /ec /etc $ shopt -u cdspell

Continuer la lecture 


bash, appel callback à la sortie...

2012-06-22 | #bash #commande #trap

Il est possible en bash d’appeler des méthodes lorsque de la fin du script est atteinte et ce même s’il y a une erreur. Ci-dessous, le script appellera cleanup_err puis cleanup_ok lorsque false sera atteint. #!/bin/bash set -e function cleanup_err { echo cleanup_err } function cleanup_ok { echo cleanup_ok } trap cleanup_ok EXIT trap cleanup_err ERR false C’est bien pratique pour nettoyer les fichiers et répertoires temporaires :)

Continuer la lecture 


emacs, afficher le nom de fichier complet dans la modeline

2012-06-15 | #emacs

; show the full path and filename in the message area (defun path () (interactive "*") (message "%s" buffer-file-name) ) ; set filename only in the Modeline display (defun short-file-name () "Display the full file path and name in the modeline" (interactive "*") (setq-default mode-line-buffer-identification '("%12b")) ) ; set the full path and filename only in the Modeline display (defun long-file-name () "Display the full file path and name in the modeline" (interactive "*") (setq-default mode-line-buffer-identification '("%S:"(buffer-file-name "%f"))) ) (long-file-name)

Continuer la lecture 


bash, sommer une colonne....

2012-05-24 | #awk #bash #bc #commande #paste #sed #tr

Comment sommer des valeurs provenant d’un fichier ou de la sortie standard. Voici plusieurs solutions… A la awk : printf "1\n2\n3\n" | awk '{s+=$1} END {print s}' A la tr : printf "1\n2\n3\n"| tr '\n' '+' | sed -e 's/+$/\n/' | bc A la paste : printf "1\n2\n3\n" | paste -sd+ | bc Moi je choisis la troisième solution. Elle est plus courte, simple et efficace !!

Continuer la lecture 


bash, presse-papier

2012-05-24 | #bash #commande #presse papier #xclip

Il est possible de copier un fichier ou la sortie standard dans le presse papier… Il suffit d’utiliser la commande xsel. Exemple : $ cat /etc/fstab | xsel -b La commande xclip un peu similaire permet la même chose… $ sudo apt-get install xclip# Downloads and installs xclip $ xclip -sel clip < ~/.ssh/id_rsa.pub

Continuer la lecture 


svn, revert d'un commit

2012-05-15 | #revert #svn

Un mauvais commit sur un fichier ? Pas de problème, il peut être inversé :) svn merge -c -[bad_revision] [repository_url] Attention au - devant la mauvaise révision… Ne restera plus qu’à commiter l’inversion

Continuer la lecture 