Voici un script bash qui va renommer le fichier texteenligne.html
dans chaque sous-dossier en utilisant le nom du dossier parent, après avoir supprimé les caractères spécifiés, et déplacera chaque fichier renommé au niveau du dossier parent :
#!/bin/bash
# Chemin vers le répertoire racine où la recherche doit commencer
ROOT_DIR="/path/to/your/directory"
# Parcours de tous les sous-dossiers contenant le fichier 'texteenligne.html'
find "$ROOT_DIR" -type f -name 'texteenligne.html' | while read -r file; do
# Obtention du répertoire parent
parent_dir=$(dirname "$file")
# Obtention du nom du répertoire parent
parent_name=$(basename "$parent_dir")
# Suppression des caractères indésirables du nom du répertoire
new_name=$(echo "$parent_name" | sed 's/_assignsubmission_onlinetext//g')
# Nouveau chemin pour le fichier renommé
new_path="$parent_dir/../$new_name.html"
# Renommage et déplacement du fichier
mv "$file" "$new_path"
echo "Fichier '$file' renommé et déplacé vers '$new_path'"
done
Étapes à suivre :
Enregistrez le script :
Ouvrez un éditeur de texte (comme TextEdit, en mode texte brut) et collez le code ci-dessus.
Enregistrez le fichier avec une extension .sh
, par exemple rename_and_move_files.sh
.
Modifiez le chemin de la racine :
Remplacez /path/to/your/directory
par le chemin du répertoire où vous souhaitez commencer la recherche.
Donnez les permissions d’exécution au script :
Ouvrez le Terminal.
Accédez au répertoire où vous avez enregistré le script.
Exécutez la commande suivante pour rendre le script exécutable :
chmod +x rename_and_move_files.sh
Exécutez le script :
Toujours dans le Terminal, exécutez le script en utilisant la commande suivante :
./rename_and_move_files.sh
Explications du script :
- find : Recherche tous les fichiers nommés
texteenligne.html
sous le répertoire racine spécifié. - parent_dir : Obtient le chemin du répertoire parent du fichier trouvé.
- parent_name : Récupère le nom du répertoire parent.
- new_name : Modifie le nom du répertoire parent en supprimant les caractères indésirables.
- new_path : Crée le nouveau chemin pour le fichier renommé au niveau du répertoire parent.
- mv : Renomme et déplace le fichier vers le nouveau chemin.
Note de précaution :
- Attention : Cette opération est irréversible. Assurez-vous de bien vérifier le chemin et de comprendre le script avant de l’exécuter pour éviter des erreurs.