#!/bin/bash # brute.sh: script, à réutiliser, qui calcul toutes # les combinaisons possible de caractères. # Auteur: Sirion # Licence: GPL-2 # Date: 26.12.2006 ############################################ # Valeurs à modifier # ############################################ #taille des chaînes à générer. taille=4 #valeur que peut avoir chaque caractères. #valeur=0123456789abcdefghijklmnopqrstuvwxyz valeur=01 ############################################ #Calcul le nombre de solutions possible. let "nb_solution=${#valeur}**$taille" #Un petit résumé. echo "Taille des chaines: $taille" echo "Nombre de valeur: ${#valeur}" echo "Nombre de solution possible: $nb_solution" y=0 while [ "$y" -lt "$nb_solution" ] do chaine="" x=0 while [ "$x" -lt "$taille" ] do #Détermine le nombre de répétition de chaque #caractère dans une colonne (0=1répétition) #let "repetition = $x*${#valeur}" #echo "nombre de repetitions: $repetition" #Détermine la position de la valeur à récupérer #dans la chaîne de valeur. position=$y #determine la taille du suite de valeur let "limite = ${#valeur}**(x+1)" #echo "limite: $limite" #Remet à la bonne taille si c'est trop grand. let "position -= $limite*(position/limite)" #chope la position let "position = position/(${#valeur}**x)" chaine="${chaine}${valeur:$position:1}" let "x += 1" done #On récupere la chaîne ici :} echo "chaine: $chaine" let "y += 1" done