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