Comment pourrais-je changer randomment des endroits de caractères dans un file text, avec une certaine probabilité (disons 10%)?
file:
1 34567 2 12356 3 16987
résultat:
1 35674 2 12653 3 61987
Enregistrez le script suivant dans scramble.sh
:
posts="" arrlen=0 rempos=0 cat | while read procl do for i in `seq 0 $((${#procl}-1))` do let arrlen=$arrlen+1 done # scramble characters posts="" for i in `seq 0 $((${#procl}-1))` do if [ $((RANDOM%5)) -eq 1 ] then rempos=$((RANDOM%arrlen)) else rempos=0 fi posts+=${procl:$rempos:1} procl="${procl:0:$((rempos))}${procl:$((rempos+1)):$((arrlen-rempos-1))}" let arrlen=$arrlen-1 done echo "$posts" done
Puis l'utiliser comme ceci:
$ cat (file name) | bash scramble.sh
par exemple
$ cat test.txt | bash scramble.sh 36475 15236 81679
Et si vous voulez save le résultat dans un file, faites:
$ cat (file name) | bash scramble.sh > (new file name)
J'espère que ça aide.