Bonjour,
Je ne connais pas le bash et j'ai une manip assez compliquée à faire.
il me faut renommer un fichier sur une machine linux puis transférer ce fichier sur une machine Windows
via scp avec une connexion ssh sans mot de passe.
A l'aide du net j'ai pu réaliser un petit script qui fonctionne pour le renommage avec tous les éléments dans le même dossier.
Mais je n'arrive pas à le faire fonctionner avec le script dans un dossier SCRIPTS, avec un dossier ARCHIVES dans lequel sera déplacé tous les fichiers après transfert sur la machine Windows.
et avec un dossier LOGS lequel sera créé puis mis à jour le fichier.
J'ai du mal avec les chemins d'accès à ces différents dossiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 #""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" # Renommer export avant transf #""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" # renxpt.bash # GG # #!/bin/sh # ################################################ Création fichier log si absent gdate=$(date +"%d/%m/%Y à %Hh%M") # Récupération de la date et l'heure a laquelle le script est lancé if [ ! -f logrename.txt ]; # Vérifie si absence du fichier log then touch logrename.txt # Si absent créé le fichier echo $gdate >> logrename.txt # et ajouter la date à laquelle le script est executé else echo $gdate >> logrename.txt # Sinon si fichier de log présent ajouter la date fi ################################################ ################################################ Renommage fichier par suppression préfix 9 caractères (aaabbbccc) for nom_fichier in aaabbbccc*_973.txt # Boucle pour rechercher tout fichier debutant avec aaabbbccc suivi de _973 et une extension .txt do nouveau_nom_fichier=${nom_fichier//aaabbbccc/} # Attribution à la variable nouveau_nom_fichier la valeur de nom_fichier sans le préfix aaabbbccc # Pour supprimer le prefixe aaabbbccc ne rien mettre comme valeur de remplacement mv $nom_fichier $nouveau_nom_fichier # Renommage echo $nouveau_nom_fichier "est renommé" >> logrename.txt # Ecrire dans le log le nom du fichier renommé mv $nouveau_nom_fichier ARCHIVES # Archivage du fichier renommé echo $nouveau_nom_fichier "est déplacé dans dossier ARCHIVES d'archivage" >> logrename.txt done ############################################################################################################################################################
Partager