#!/bin/bash # brute.sh: script, à réutiliser, qui calcul toutes les combinaisons possible de caractères. # Auteur: Sirion # Licence: GPL-2 # Date: 23.12.2006 ############################################ # Valeurs à modifier # ############################################ #taille des chaînes à générer. taille=3 #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 let "limite = ${#valeur}**(x+1)" #echo "limite: $limite" #Remet à la bonne taille si c'est trop grand. while [ $position -ge $limite ] do let "position -= $limite" done #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