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
############################################################################################################################################################