Archive for the ‘script’ Category

BASH strings cheat sheet

Sunday, May 12th, 2013

Un autre cheat sheet pour continuer dans la foulée, cette fois ci, focus sur les manipulations de chaines de caractères en bash. Beaucoup de manipulations ci-dessous sont plus simple à réaliser à l’aide d’outils tiers (awk, sed, tr,wc…) mais ici, nous nous faisons du bash pur. L’intérêt est de gagner en performance ce qui peut être primordial pour certains projets.

Soit la chaine de caractères suivante:

var="bli-bla-blo"

${#var} = la longueur de la chaine (11)
${var:0:1} = le premier caractère (‘b’)
${var:4:6} = les caractères du 5eme à 7eme (‘bla’)
${var: -1} = le dernier caractère (‘o’)
${var%-*} = la plus grande sous-chaine jusqu’à un ‘-’ en partant de la gauche (‘bli-bla’)
${var%%-*} = la plus petite sous-chaine jusqu’à un ‘-’ en partant de la gauche (‘bli’)
${var#*-} = la plus grande sous-chaine jusqu’à un ‘-’ en partant de la droite (‘bla-blo’)
${var##*-} = la plus petite sous-chaine jusqu’à un ‘-’ en partant de la droite (‘blo’)

Voici un script qui reprend les notions décrites avec des exemples concrets:

String_Cheat_Sheet

 

regex cheat sheet

Wednesday, April 3rd, 2013

Il existe déjà des tonnes de sites avec références/exemples/tutoriaux sur les expressions régulières. Ce dont j’ai besoin, c’est plutôt d’une page qui résume simplement et en un coup d’œil l’essentiel des regex que j’utilise:

Basiques
^a = match ‘a’ au début de la ligne
a$ = match ‘a’ à la fin de la ligne
a? = match ‘a’ 0 ou 1 fois
a+ = match ‘a’ 1 fois ou plus
a* = match ‘a’ 0, 1 fois ou plus
a{n} = match ‘a’ n fois
a{n,m} = match ‘a’ entre n et m fois
a{n,} = match ‘a’ entre n fois ou plus
[x-y] = match n’importe quel caractère dans le range x to y
. = n’importe quel caractère

Raccourcis
\d = [0-9]
\D = [^0-9]
\w = [a-zA-Z0-9_]
\W = [^a-zA-Z0-9_]
\s = un espace
\S = PAS un espace
\t = tab
\n = nouvelle ligne
\r = retour chariot
\r\n = CRLF de DOS/windows

Avancées
^((?!pattern).)*$        = match toutes les  lignes qui ne contiennent pas ‘pattern’
(\d{1,3}\.){3}\d{1,3} = match un adresse IP

les options
i = ignorer la case
s = le ‘.’ ne matchera pas le retour chariot

Les moins courantes
\xIJ    = ASCII hexcode (\x41 will match ‘A’)
\Q…\E = pas d’interprétation des caractères spéciaux \Q*!$$\E match ‘*!$$’

Sauvegardez vos fichiers sur un serveur FTP à l’aide d’un batch

Wednesday, January 9th, 2013

Pour sauvegarder mes données depuis mon laptop windows, j’utilise le script suivant pour envoyer mes fichiers sur mon FTP automatiquement.

Pour l’instant, le script se contente de copier tous les fichiers contenu dans le dossier (more…)