Add some scripts
This commit is contained in:
parent
2258b04f64
commit
44b19bda54
3 changed files with 338 additions and 0 deletions
36
.scripts/passwordGenerator.py
Executable file
36
.scripts/passwordGenerator.py
Executable file
|
@ -0,0 +1,36 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
import string
|
||||
import random
|
||||
from random import sample
|
||||
|
||||
def randChar(nb):
|
||||
specialChar = ",?!'=()%*+/_.-[]#@{}"
|
||||
charList = specialChar+string.digits+string.ascii_letters
|
||||
s = sample(charList, nb)
|
||||
for i in range(nb):
|
||||
if random.random() < 0.2:
|
||||
s[i] = s[i]+sample(charList, 1)[0]
|
||||
return s
|
||||
|
||||
def randTab(x,y):
|
||||
tab = []
|
||||
for i in range(y):
|
||||
tab.insert(len(tab), [])
|
||||
tab[i] = randChar(x)
|
||||
return tab;
|
||||
|
||||
def printtab(tab):
|
||||
f = open('test.out', 'w')
|
||||
for i in range(len(tab[0])):
|
||||
f.write('\t'+str(i))
|
||||
for i in range(len(tab)):
|
||||
f.write('\n'+string.ascii_uppercase[i*2:(i+1)*2])
|
||||
for j in range(len(tab[i])):
|
||||
f.write('\t'+tab[i][j])
|
||||
f.write('\n')
|
||||
f.close()
|
||||
|
||||
tab = randTab(10,13)
|
||||
printtab(tab)
|
||||
|
154
.scripts/removeAcc.sh
Executable file
154
.scripts/removeAcc.sh
Executable file
|
@ -0,0 +1,154 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 13/12/2013 Gregory Trolliet
|
||||
# Permission is granted to copy, distribute and/or modify this document
|
||||
# under the terms of the GNU Free Documentation License, Version 1.3
|
||||
# or any later version published by the Free Software Foundation;
|
||||
# with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
# Texts. A copy of the license is included in the section entitled ``GNU
|
||||
# Free Documentation License''.
|
||||
#
|
||||
# Created: 11/01/2009 Thomas 134
|
||||
# Modified:
|
||||
# -24/03/2009 Thomas 134
|
||||
# -13/12/2013 Gregory Trolliet <r4ghn4r0k@gmail.com>
|
||||
#
|
||||
# Script permettant de renommer des fichiers et dossiers en remplacant une liste
|
||||
# de caractères
|
||||
|
||||
|
||||
#### DEUX REMARQUES IMPORTANTES ####
|
||||
|
||||
# Attention, pour virer les mauvais caractères, ce script doit pouvoir les
|
||||
# lires !
|
||||
# Pas d'autre solutions trouvées à l'heure actuelle.
|
||||
# Donc il faut paramètrer les "locales" pour lire le format iso
|
||||
# Dans Mandriva il faut aller dans le centre de controle > Système > Gérer les
|
||||
# paramètre
|
||||
# locaux de votre système > Avancé > Compatibilité encodage ancien (non UTF8)
|
||||
|
||||
# Attention, pour fonctionner correctement, ce script doit être encodé de la
|
||||
# même façon que les caractères cibles !
|
||||
# Il est normalement distribué en UTF8, qui est l'encodage des distributions
|
||||
# linux récentes.
|
||||
# Cependant, le but de ce fichier est de supprimer les caractères accentués
|
||||
# dans les anciens encodages.
|
||||
# Il faut donc le convertir dans l'encodage recherché avec la commande
|
||||
# suivante :
|
||||
# $ iconv -f utf-8 -t iso-8859-1 <accent_utf8.sh >accent_iso8859.sh
|
||||
# Ne pas oublier après de le rendre exécutable !
|
||||
# Pour le remettre en UTF8 (ben oui pour virer les accents même ceux qui
|
||||
# sont bien encodés) :
|
||||
# $ iconv -f iso-8859-1 -t utf-8 <accent_iso8859.sh >accent_utf8.sh
|
||||
# Pour connaitre l'encodage d'un fichier avec caractètre accentué (ou de
|
||||
# celui ci avant exécution) :
|
||||
# $ file -i FICHIER.TXT
|
||||
|
||||
#### DECLARATION VARIABLES ####
|
||||
|
||||
# Liste des caractères à remplacer
|
||||
ACC=àâäåçéèêëîïíìôöùüÂÀÄÇÉÈÊËÎÏÔÖÙÜ~#:
|
||||
# Liste des caractères remplaçants
|
||||
RMP=aaaaceeeeiiiioouuAAACEEEEIIOOUU___
|
||||
# Initialisation d'un compteur
|
||||
COMPT=0
|
||||
# Initialisation d'une variable
|
||||
END=1
|
||||
# Création de la variable TEMP qui prend la valeur d'une commande (` `)
|
||||
# permettant de créer un fichier temporaire « unique » dans le
|
||||
# répertoire /tmp (mktemp)
|
||||
TEMP=`mktemp`
|
||||
|
||||
#### CREATION FONCTIONS ####
|
||||
|
||||
# Création d'une fonction (Confirmation) qui demande une confirmation au clavier
|
||||
Confirmation () {
|
||||
echo
|
||||
CONF="x"
|
||||
while [ `echo $CONF | sed 's/^[oOnNqQ]\?$/ok/'` != "ok" ]
|
||||
do
|
||||
echo "Etes vous d'accord pour continuer (O/n) ?"
|
||||
read CONF
|
||||
done
|
||||
# Attend la saisie d'un paramètre (read) qui sera enregistré dans une variable
|
||||
# (nommée CONF)
|
||||
# Teste si la réponse est différente de o et abandonne l'exécution dans ce cas
|
||||
case $CONF in
|
||||
"o"|"O"|"" )
|
||||
;;
|
||||
* )
|
||||
echo "Exécution abandonné."
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Création d'une fonction (Remplacer) dont le paramètre est le type d'élément à
|
||||
# traiter : d pour dossier et f pour fichier
|
||||
Remplacer () {
|
||||
# Cherche (find) dans le répertoire à parcourir ($REP) tous les fichiers ou
|
||||
# dossier (-type $1)
|
||||
# dont le nom (-name) contient un des caractères à remplacer (*[$ACC]*) et les
|
||||
# écrit (>) dans un fichier ($TEMP)
|
||||
find $REP -type $1 -name "*[$ACC]*" > $TEMP
|
||||
|
||||
# Test qui fait que si Temp est vide on zappe la confirmation et on passe un
|
||||
# paramètre (END=0) à la fonction plus bas pour arréter de boucler sur
|
||||
# les dossiers
|
||||
if [ -n "$(cat $TEMP)" ]
|
||||
then
|
||||
# Renvoi la liste et demande confirmation de l'exécution du remplacement
|
||||
echo "Liste des éléments à traiter :"
|
||||
cat $TEMP
|
||||
# Demande de confirmation (appel de la fonction Confirmation)
|
||||
Confirmation
|
||||
# Prend le fichier donné en argument (< $TEMP) et lit (read) toutes les
|
||||
# lignes (i) tant qu'il y en a (while)
|
||||
# Pour chaque ligne fait l'action (do) de renommer (mv) en mode interactif
|
||||
# et verbeux (-iv) et renomme (et non déplace) les dossiers (T)
|
||||
# Le fichier de départ ("$i") est renommé en remplaçant (sed) les
|
||||
# caractères contenus dans la liste (ACC) par ceux de la seconde liste (RMP)
|
||||
while read i ; do
|
||||
#cp -ivR "$i" "$i"_acc134\/" # sauvegarde des fichiers ??
|
||||
mv -ivT "$i" "$(echo $i | sed 'y/'$ACC'/'$RMP'/')"
|
||||
|
||||
let "COMPT = $COMPT + 1"
|
||||
done < $TEMP
|
||||
# Avant du supprimer Temp, faire un fichier de log qui conserve en
|
||||
# mémoire les changements effectués et leur date
|
||||
# Supprime (rm) le fichier temporaire créé (TEMP)
|
||||
rm $TEMP
|
||||
else
|
||||
END=0
|
||||
fi
|
||||
}
|
||||
|
||||
#### MESSAGES DE DEBUT DU SCRIPT ####
|
||||
# Message d'explication et rappel des paramètres
|
||||
echo
|
||||
echo "Cette commande permet de renommer des fichiers et dossiers en remplacant "
|
||||
echo "une liste de caractères."
|
||||
# Le répertoire est passé en paramètre
|
||||
REP=$1
|
||||
# Demande de confirmation (appel de la fonction Confirmation)
|
||||
Confirmation
|
||||
#### EXECUTION DES REMPLACEMENTS ####
|
||||
# Traitement des dossiers dans un premier temps
|
||||
# Tant que (while) il reste des dossiers contenant des caractères recherchés
|
||||
# (varible END non vide)
|
||||
while [ "$END" -eq 1 ] ; do
|
||||
echo
|
||||
echo "** Traitement des dossiers **"
|
||||
# Appel de la fonction pour traitement des dossiers (d)
|
||||
Remplacer d
|
||||
done
|
||||
# Une fois les dossiers traités, vient le tour des fichiers (moins de
|
||||
# problème dans ce cas seul leur noms change et pas leur dossier parent)
|
||||
echo
|
||||
echo "** Traitement des fichiers **"
|
||||
# Appel de la fonction pour traitement des fichiers (f)
|
||||
Remplacer f
|
||||
# Message de fin indiquant le nombre de remplacements
|
||||
echo "$COMPT remplacement(s) effectué(é)."
|
||||
# Sortie du script
|
||||
exit 0
|
148
.scripts/removeDotDir.sh
Executable file
148
.scripts/removeDotDir.sh
Executable file
|
@ -0,0 +1,148 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 13/12/2013 Gregory Trolliet
|
||||
# Permission is granted to copy, distribute and/or modify this document
|
||||
# under the terms of the GNU Free Documentation License, Version 1.3
|
||||
# or any later version published by the Free Software Foundation;
|
||||
# with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
# Texts. A copy of the license is included in the section entitled ``GNU
|
||||
# Free Documentation License''.
|
||||
#
|
||||
# Created: 11/01/2009 Thomas 134
|
||||
# Modified:
|
||||
# -24/03/2009 Thomas 134
|
||||
# -13/12/2013 Gregory Trolliet <r4ghn4r0k@gmail.com>
|
||||
#
|
||||
# Script permettant de renommer des fichiers et dossiers en remplacant une liste
|
||||
# de caractères
|
||||
|
||||
|
||||
#### DEUX REMARQUES IMPORTANTES ####
|
||||
|
||||
# Attention, pour virer les mauvais caractères, ce script doit pouvoir les
|
||||
# lires !
|
||||
# Pas d'autre solutions trouvées à l'heure actuelle.
|
||||
# Donc il faut paramètrer les "locales" pour lire le format iso
|
||||
# Dans Mandriva il faut aller dans le centre de controle > Système > Gérer les
|
||||
# paramètre
|
||||
# locaux de votre système > Avancé > Compatibilité encodage ancien (non UTF8)
|
||||
|
||||
# Attention, pour fonctionner correctement, ce script doit être encodé de la
|
||||
# même façon que les caractères cibles !
|
||||
# Il est normalement distribué en UTF8, qui est l'encodage des distributions
|
||||
# linux récentes.
|
||||
# Cependant, le but de ce fichier est de supprimer les caractères accentués
|
||||
# dans les anciens encodages.
|
||||
# Il faut donc le convertir dans l'encodage recherché avec la commande
|
||||
# suivante :
|
||||
# $ iconv -f utf-8 -t iso-8859-1 <accent_utf8.sh >accent_iso8859.sh
|
||||
# Ne pas oublier après de le rendre exécutable !
|
||||
# Pour le remettre en UTF8 (ben oui pour virer les accents même ceux qui
|
||||
# sont bien encodés) :
|
||||
# $ iconv -f iso-8859-1 -t utf-8 <accent_iso8859.sh >accent_utf8.sh
|
||||
# Pour connaitre l'encodage d'un fichier avec caractètre accentué (ou de
|
||||
# celui ci avant exécution) :
|
||||
# $ file -i FICHIER.TXT
|
||||
|
||||
#### DECLARATION VARIABLES ####
|
||||
|
||||
# Liste des caractères à remplacer
|
||||
ACC=.
|
||||
# Liste des caractères remplaçants
|
||||
RMP=_
|
||||
# Initialisation d'un compteur
|
||||
COMPT=0
|
||||
# Initialisation d'une variable
|
||||
END=1
|
||||
# Création de la variable TEMP qui prend la valeur d'une commande (` `)
|
||||
# permettant de créer un fichier temporaire « unique » dans le
|
||||
# répertoire /tmp (mktemp)
|
||||
TEMP=`mktemp`
|
||||
|
||||
#### CREATION FONCTIONS ####
|
||||
|
||||
# Création d'une fonction (Confirmation) qui demande une confirmation au clavier
|
||||
Confirmation () {
|
||||
echo
|
||||
CONF="x"
|
||||
while [ `echo $CONF | sed 's/^[oOnNqQ]\?$/ok/'` != "ok" ]
|
||||
do
|
||||
echo "Etes vous d'accord pour continuer (O/n) ?"
|
||||
read CONF
|
||||
done
|
||||
# Attend la saisie d'un paramètre (read) qui sera enregistré dans une variable
|
||||
# (nommée CONF)
|
||||
# Teste si la réponse est différente de o et abandonne l'exécution dans ce cas
|
||||
case $CONF in
|
||||
"o"|"O"|"" )
|
||||
;;
|
||||
* )
|
||||
echo "Exécution abandonné."
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Création d'une fonction (Remplacer) dont le paramètre est le type d'élément à
|
||||
# traiter : d pour dossier et f pour fichier
|
||||
Remplacer () {
|
||||
# Cherche (find) dans le répertoire à parcourir ($REP) tous les fichiers ou
|
||||
# dossier (-type $1)
|
||||
# dont le nom (-name) contient un des caractères à remplacer (*[$ACC]*) et les
|
||||
# écrit (>) dans un fichier ($TEMP)
|
||||
find $REP -type $1 -name "*[$ACC]*" > $TEMP
|
||||
|
||||
# Test qui fait que si Temp est vide on zappe la confirmation et on passe un
|
||||
# paramètre (END=0) à la fonction plus bas pour arréter de boucler sur
|
||||
# les dossiers
|
||||
if [ -n "$(cat $TEMP)" ]
|
||||
then
|
||||
# Renvoi la liste et demande confirmation de l'exécution du remplacement
|
||||
echo "Liste des éléments à traiter :"
|
||||
cat $TEMP
|
||||
# Demande de confirmation (appel de la fonction Confirmation)
|
||||
Confirmation
|
||||
# Prend le fichier donné en argument (< $TEMP) et lit (read) toutes les
|
||||
# lignes (i) tant qu'il y en a (while)
|
||||
# Pour chaque ligne fait l'action (do) de renommer (mv) en mode interactif
|
||||
# et verbeux (-iv) et renomme (et non déplace) les dossiers (T)
|
||||
# Le fichier de départ ("$i") est renommé en remplaçant (sed) les
|
||||
# caractères contenus dans la liste (ACC) par ceux de la seconde liste (RMP)
|
||||
while read i ; do
|
||||
#cp -ivR "$i" "$i"_acc134\/" # sauvegarde des fichiers ??
|
||||
mv -ivT "$i" "$(echo $i | sed 'y/'$ACC'/'$RMP'/')"
|
||||
|
||||
let "COMPT = $COMPT + 1"
|
||||
done < $TEMP
|
||||
# Avant du supprimer Temp, faire un fichier de log qui conserve en
|
||||
# mémoire les changements effectués et leur date
|
||||
# Supprime (rm) le fichier temporaire créé (TEMP)
|
||||
rm $TEMP
|
||||
else
|
||||
END=0
|
||||
fi
|
||||
}
|
||||
|
||||
#### MESSAGES DE DEBUT DU SCRIPT ####
|
||||
# Message d'explication et rappel des paramètres
|
||||
echo
|
||||
echo "Cette commande permet de renommer des fichiers et dossiers en remplacant "
|
||||
echo "une liste de caractères."
|
||||
# Le répertoire est passé en paramètre
|
||||
REP=$1
|
||||
# Demande de confirmation (appel de la fonction Confirmation)
|
||||
Confirmation
|
||||
#### EXECUTION DES REMPLACEMENTS ####
|
||||
# Traitement des dossiers dans un premier temps
|
||||
# Tant que (while) il reste des dossiers contenant des caractères recherchés
|
||||
# (varible END non vide)
|
||||
while [ "$END" -eq 1 ] ; do
|
||||
echo
|
||||
echo "** Traitement des dossiers **"
|
||||
# Appel de la fonction pour traitement des dossiers (d)
|
||||
Remplacer d
|
||||
done
|
||||
# Message de fin indiquant le nombre de remplacements
|
||||
echo "$COMPT remplacement(s) effectué(é)."
|
||||
# Sortie du script
|
||||
exit 0
|
Loading…
Reference in a new issue