Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| dossier_magique [Le 23/03/2015, 16:38] – 82.232.246.38 | dossier_magique [Le 11/09/2022, 11:55] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ---- | ---- | ||
| - | ====== Dossier magique : classement automatique de fichiers ====== | + | ====== Dossier magique : classement automatique de fichiers ====== |
| - | En 2007, sur [[http:// | + | En 2007, sur [[https:// |
| - | Le code a été remanié en 2015 par erresse, afin d' | + | Le code a été remanié en 2015 par erresse, afin d' |
| ===== Fichiers reconnus ===== | ===== Fichiers reconnus ===== | ||
| Ligne 20: | Ligne 20: | ||
| #!/bin/bash | #!/bin/bash | ||
| - | CURRENT_VER=1.0 | + | CURRENT_VER=1.1 |
| # initialisation des options | # initialisation des options | ||
| Ligne 27: | Ligne 27: | ||
| AIDE=" | AIDE=" | ||
| VERSION=" | VERSION=" | ||
| + | RECURSIF=" | ||
| # Définition des fonctions du script | # Définition des fonctions du script | ||
| Ligne 74: | Ligne 75: | ||
| { | { | ||
| cd " | cd " | ||
| + | # Faut-il gérer la récursivité pour les sources ? | ||
| + | if [[ " | ||
| + | then | ||
| + | crd=0 | ||
| + | while [ ${crd} = 0 ] | ||
| + | do | ||
| + | ls -d */ 2> /dev/null > /tmp/tri | ||
| + | crd=$? | ||
| + | while read dossier | ||
| + | do | ||
| + | # On remonte tout le dossier d'un niveau | ||
| + | mv -t " | ||
| + | # Puis on supprime le dossier vide | ||
| + | rmdir " | ||
| + | done < /tmp/tri | ||
| + | done | ||
| + | fi | ||
| ls > /tmp/tri | ls > /tmp/tri | ||
| while read fichier | while read fichier | ||
| Ligne 132: | Ligne 150: | ||
| # Testons d' | # Testons d' | ||
| - | while getopts ":agtv-:" OPT | + | while getopts ":agrtv-:" OPT |
| do | do | ||
| # gestion des options longues avec ou sans argument | # gestion des options longues avec ou sans argument | ||
| Ligne 138: | Ligne 156: | ||
| aide) OPT=" | aide) OPT=" | ||
| graphique) OPT=" | graphique) OPT=" | ||
| + | recursif) OPT=" | ||
| terminal) OPT=" | terminal) OPT=" | ||
| version) OPT=" | version) OPT=" | ||
| Ligne 144: | Ligne 163: | ||
| # puis gestion des options courtes | # puis gestion des options courtes | ||
| case $OPT in | case $OPT in | ||
| - | g) TERMINAL=" | ||
| a) AIDE=" | a) AIDE=" | ||
| + | g) TERMINAL=" | ||
| + | r) RECURSIF=" | ||
| t) TERMINAL=" | t) TERMINAL=" | ||
| v) VERSION=" | v) VERSION=" | ||
| Ligne 161: | Ligne 181: | ||
| echo " | echo " | ||
| echo " | echo " | ||
| + | echo " | ||
| echo " | echo " | ||
| echo " | echo " | ||
| Ligne 190: | Ligne 211: | ||
| then | then | ||
| # On élimine les options pour charger le(s) paramètre(s) | # On élimine les options pour charger le(s) paramètre(s) | ||
| - | shift | + | while [ " |
| + | do | ||
| + | shift | ||
| + | done | ||
| if [ " | if [ " | ||
| then | then | ||
| Ligne 309: | Ligne 333: | ||
| </ | </ | ||
| - | Dans cet exemple, les dossiers sont tous situés dans le répertoire / | + | Les dossiers par défaut existent sous les versions |
| - | + | ||
| - | Les dossiers par défaut existent | + | |
| ==== Types de fichier ==== | ==== Types de fichier ==== | ||
| Ligne 326: | Ligne 348: | ||
| ===== Utilisation ===== | ===== Utilisation ===== | ||
| - | En ligne de commande : | + | **En ligne de commande :** |
| - | dossier_magique | + | Le script accepte une option (longue %%--%%option ou courte -o) et un ou plusieurs paramètres. |
| + | Les options sont, respectivement : | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | Exemple : | ||
| + | ./dossier_magique | ||
| + | (où CIBLE, SOURCE1 ... SOURCEn sont des répertoires. CIBLE est le dossier " | ||
| + | Si seul le répertoire CIBLE est spécifié, c'est ce répertoire qui sera classé par défaut. Dans ce cas, CIBLE = SOURCE. | ||
| - | Si aucun répertoire n'est spécifié, le répertoire | + | Si les noms des répertoires contiennent des espaces et autres caractères spéciaux, mettez-les systématiquement entre guillemets et si vous référencez |
| + | | ||
| - | Si les noms des répertoires contiennent des espaces et autres caractères spéciaux, mettez-les systématiquement entre guillemets et précédez ces caractères | + | **En mode graphique :** |
| - | dossier_magique | + | En mode graphique, ne spécifiez ni paramètre ni option (ou -g | %%--%%graphique qui est la valeur par défaut). Le script affiche une petite fenêtre |
| + | Si vous voulez classer le dossier CIBLE lui-même, ne choisissez pas d' | ||
| + | Si vous devez abandonner le script en cours de route (un doute sur le travail à exécuter...), | ||
| ===== Fichier de log ===== | ===== Fichier de log ===== | ||
| Ligne 344: | Ligne 379: | ||
| ===== Exécution automatique ===== | ===== Exécution automatique ===== | ||
| + | Il est toujours possible, en lançant une exécution en ligne de commande, de faire fonctionner le script en exécution automatique. | ||
| Pour exécuter automatiquement le script toutes les 5 minutes, par exemple, vous pouvez utiliser [[: | Pour exécuter automatiquement le script toutes les 5 minutes, par exemple, vous pouvez utiliser [[: | ||
| crontab -e | crontab -e | ||
| Et on rajoute : | Et on rajoute : | ||
| - | < | + | < |
| + | |||
| + | ===== Bonus ===== | ||
| + | |||
| + | Vous pouvez créer un lanceur sur le bureau ou dans le menu pour lancer facilement le script en mode graphique. Identifiez-le avec cette icône : | ||
| + | {{: | ||
