* http://hetland.org/coding/python/levenshtein.py
* http://fr.wikipedia.org/wiki/Distance_de_Levenshtein
J'entrepose ici mes découvertes linux, bash, python et java que je souhaite partager et mettre de côté...
mercredi 20 août 2008
mardi 19 août 2008
@accepts @returns en python
voir :
* package python-excelerator
* /usr/share/pycentral/python-excelerator/site-packages/pyExcelerator/Deco.py
* package python-excelerator
* /usr/share/pycentral/python-excelerator/site-packages/pyExcelerator/Deco.py
jeudi 3 avril 2008
emacs : query replace avec retour chariot !
Ayant un document xml avec plein de données, je souhaite séparer les blocs "<Event>" pour mieux distinguer. Voici comment faire...
M-%
<Event>C-q C-j C-q C-j <Event>
mardi 25 mars 2008
Afficher la robustesse d'un mot de passe
Le site suivant permet de saisir un mot de passe et d'afficher au fur et à mesure de la saisie la robustesse de celui-ci.
vendredi 21 mars 2008
Archivage tar et exclusions .svn
Pour exclure les répertoires lors de la création d'une archive avec tar,
il faut utiliser --exclude pattern après le nom de l'archive.
Exemple :
il faut utiliser --exclude pattern après le nom de l'archive.
Exemple :
tar zcvf nomarchive.tgz --exclude '.svn' batch/
Rendre attrayant des formulaires et tableaux html
Voici un lien vers des tutoriaux http://www.fredcavazza.net/mes-ressources/mes-tutoriels/ sympas.
Le principe adopté est de partir d'un formulaire ou d'un tableau et de les rendre attrayants.
Cela se fait étape par étape et pemet d'apprendre quelques balises html et notions de css.
Le principe adopté est de partir d'un formulaire ou d'un tableau et de les rendre attrayants.
Cela se fait étape par étape et pemet d'apprendre quelques balises html et notions de css.
lundi 17 mars 2008
Utiliser sort pour trier un tableau
Trie les données sur les colonnes 2 et 3.
jfgiraud@jfgiraud1:~$ printf "D,3,5,D\nA,3,07,A\nB,3,10,B\nC,5,2,C\n"
| sort -t ',' -k 2n,2n -k 3n,3n
D,3,5,D
A,3,07,A
B,3,10,B
C,5,2,C
Comparaisons numériques avec sort
jfgiraud@jfgiraud1:~$ printf "1 21 5.0 2e1" | tr " " "\n" | sort -g
1
5.0
2e1
21
jfgiraud@jfgiraud1:~$ printf "1 21 5.0 2e1" | tr " " "\n" | sort -n
1
2e1
5.0
21
jfgiraud@jfgiraud1:~$ printf "1 21 5.0 2e1" | tr " " "\n" | sort
1
21
2e1
5.0
1
5.0
2e1
21
jfgiraud@jfgiraud1:~$ printf "1 21 5.0 2e1" | tr " " "\n" | sort -n
1
2e1
5.0
21
jfgiraud@jfgiraud1:~$ printf "1 21 5.0 2e1" | tr " " "\n" | sort
1
21
2e1
5.0
Manipulation de dates
Date::Manip n'est pas installé par défaut avec perl. C'est embêtant car il faut installer un paquet sur chaque environnement utilisé.
En outre, dans la perldoc, voici la réponse à la question SHOULD I USE DATE::MANIP
Date::Manip is written entirely in perl. It’s the most powerful of the
date modules. It’s also the biggest and slowest.
Bref, pourquoi ne pas utiliser directement la commande date ?!
* avec perl :
* en bash
En outre, dans la perldoc, voici la réponse à la question SHOULD I USE DATE::MANIP
Date::Manip is written entirely in perl. It’s the most powerful of the
date modules. It’s also the biggest and slowest.
Bref, pourquoi ne pas utiliser directement la commande date ?!
* avec perl :
use Date::Manip;
my $nextDate = DateCalc("$year-$month-$day 07:00:00", "+ 1 day");
$validity_start = UnixDate($nextDate, "%Y-%m-%d 07:00:00");
* en bash
date -d '2007-03-12 11:23:59 1 day ago' +'%Y-%m-%d %H:%M:%S'
jeudi 13 mars 2008
XPath
XPath permet de désigner une portion d'un document XML.
La page wiki présente la syntaxe de manière simple.
Un commentaire indique que l'on peut utiliser un utilitaire perl en ligne de commande (paquet à installer : libxml-xpath-perl).
J'ai fait un test sur un fichier xml (récupéré d'un flux rss) et c'est impressionnant !
Il manque la syntaxe pour récupérer les noeuds dont la valeur est X :
<item ...>
...
<title>X<title>
...
</item>
xpath -e '//item[title = "X"]' ~/Telechargements/flux.rss
Exemples de chemins :
Resources :
-
La page wiki présente la syntaxe de manière simple.
Un commentaire indique que l'on peut utiliser un utilitaire perl en ligne de commande (paquet à installer : libxml-xpath-perl).
J'ai fait un test sur un fichier xml (récupéré d'un flux rss) et c'est impressionnant !
Il manque la syntaxe pour récupérer les noeuds dont la valeur est X :
<item ...>
...
<title>X<title>
...
</item>
xpath -e '//item[title = "X"]' ~/Telechargements/flux.rss
Exemples de chemins :
//data/birthday[@month="sept"]/../food/@name
..//td/a/../following-sibling::*'
.//span[@class="acc_detail"]/preceding-sibling::*[1]
.//div[@class="rech_bkl_img"]//img/@src
Resources :
-
http://jerome.developpez.com/xmlxsl/xpath/?lpage=paths&rpage=17#d1e1010
mercredi 12 mars 2008
Raccourcis claviers bien pratiques
Escape puis "." : dernier paramètre de la ligne de commande dernièrement exécutée.
Control R + texte : recherche ce texte dans l'historique des lignes de commande. Répeter le Control R pour remonter dans les entrées.
Control R + texte : recherche ce texte dans l'historique des lignes de commande. Répeter le Control R pour remonter dans les entrées.
Comptabiliser le nombre d'occurences
Utiliser la commande uniq pour afficher ou omettre des lignes récupérées de l'entrée standard. L'option -c permet de comptabiliser les lignes (qui doivent être ordonnées)
Associer avec sort.
for A in 1 3 4 2 3 1 1 1 3; do echo $A; done | sort | uniq -c
Associer avec sort.
for A in 1 3 4 2 3 1 1 1 3; do echo $A; done | sort | uniq -c
Récupérer les informations concernant une image
sudo apt-get install imagemagick
/usr/bin/identify -verbose Telechargements/quiz_pblv_xs.gif
Les informations sont envoyées sur la sortie standard.
/usr/bin/identify -verbose Telechargements/quiz_pblv_xs.gif
Les informations sont envoyées sur la sortie standard.
Dépannage: serveur qui affiche ce qu'il reçoit
Le serveur affiche ce qu'il reçoit, c'est tout ce qu'il fait.
# installation
sudo apt-get install socat
# lancement du serveur
socat tcp4-listen:1234,reuseaddr,fork stdio
# lancement du client où l'on envoie des données
telnet 127.0.0.1 1234
# installation
sudo apt-get install socat
# lancement du serveur
socat tcp4-listen:1234,reuseaddr,fork stdio
# lancement du client où l'on envoie des données
telnet 127.0.0.1 1234
CVS: suppression d'une branche
Ce matin, j'ai crée une branche à la place d'un tag. La correction n'est pas évidente pour nettoyer :
Lien externe : http://www.delorie.com/gnu/docs/cvs/cvs_51.html
# renommage du tag en branche
cvs rtag -b -r <version>_TAG <version>_BRANCH <application>
# suppression de la branche
cvs rtag -d -B <version>_TAG <application>
Lien externe : http://www.delorie.com/gnu/docs/cvs/cvs_51.html
Inscription à :
Articles (Atom)