Copie de fichiers
Rius93
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai actuellement un dossier avec plusieurs fichier dedans:
- test1.txt
- test2.txt
- test3.txt
J'ai un fichier avec des liens:
- /dossier1/sousdossier1/test1.txt
- /dossier1/sousdossier2/test2.txt
- /dossier2/sousdossier1/test3.txt
Comment pourrais-je faire pour copier tous les fichiers qui sont dans le même dossier en fonction du fichier avec les liens ?
J'espère avoir été clair.
Merci beaucoup
J'ai actuellement un dossier avec plusieurs fichier dedans:
- test1.txt
- test2.txt
- test3.txt
J'ai un fichier avec des liens:
- /dossier1/sousdossier1/test1.txt
- /dossier1/sousdossier2/test2.txt
- /dossier2/sousdossier1/test3.txt
Comment pourrais-je faire pour copier tous les fichiers qui sont dans le même dossier en fonction du fichier avec les liens ?
J'espère avoir été clair.
Merci beaucoup
4 réponses
-
Salut,
J'espère avoir été clair.
Oui, mais ça manque cruellement de précision ;-\J'ai actuellement un dossier avec plusieurs fichier
Comment s'appelle-t-il ? Où se trouve-t-il ?J'ai un fichier avec des liens
Où se trouve-t-il ?/dossier1/sousdossier1/
Où se trouve "dossier1" (chemin complet) ?/dossier2/sousdossier1/
Où se trouve "dossier2" (chemin complet) ?
-
Voici un exemple de ce qui se trouve dans mon fichier texte (j'ai environs 660 lignes :) )
Ce fichier texte est dans /home/rius/ mais je peut le bouger en cas de besoin
/home/rius/MTL/IVAO_MTL/IVAO_A10/model/RWAI A-10C_Empty.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A124/model/An-124-100.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A148/model/SBAI_An-148.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A148/model.158/SBAI_An-158.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A225/model/GAI_AN225_B.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A306/model.GE/TFS_A300-600_GE.mdl
Tous les fichiers qui sont dans le fichier texte existe déjà.
Dans le dossier /home/rius/NEW_MTL/ j'ai les fichiers:
- RWAI A-10C_Empty.mdl
- An-124-100.mdl
- SBAI_An-148.mdl
- SBAI_An-158.mdl
- GAI_AN225_B.mdl
- TFS_A300-600_GE.mdl
Ce que je recherche à faire, c'est copier tous les fichiers qui sont dans le dossier /home/rius/NEW_MTL/ pour qu'ils remplacent ceux qui sont dans le fichier texte
Exemple:
Le fichier /home/rius/NEW_MTL/RWAI A-10C_Empty.mdl doit remplacer le fichier /home/rius/MTL/IVAO_MTL/IVAO_A10/model/RWAI A-10C_Empty.mdl
Le fichier An-124-100.mdl doit remplacer le fichier /home/rius/MTL/IVAO_MTL/IVAO_A124/model/An-124-100.mdl-
À tester sur un petit bout de fichier. Le script tu le mets où tu veux (tant qu'à faire avec le le fichier à lire).
Si le résultat de la commandeecho cp blabla… blabla…
est bon, tu supprimes le "echo
" et les guillemets, mais tu rajoutes des guillemets autour des variables ${fich} et ${line} (cp -v /home/rius/NEW_MTL/"${fich}" "${line}").
$ cat fich
/home/rius/MTL/IVAO_MTL/IVAO_A10/model/RWAI A-10C_Empty.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A124/model/An-124-100.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A148/model/SBAI_An-148.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A148/model.158/SBAI_An-158.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A225/model/GAI_AN225_B.mdl
/home/rius/MTL/IVAO_MTL/IVAO_A306/model.GE/TFS_A300-600_GE.mdl
$ cat script_cp.sh
#! /bin/bash
while read line
do
fich="${line##*/}"
echo "cp /home/rius/NEW_MTL/${fich} ${line}"
done < fich
$ ./script_cp.sh
cp /home/rius/NEW_MTL/RWAI A-10C_Empty.mdl /home/rius/MTL/IVAO_MTL/IVAO_A10/model/RWAI A-10C_Empty.mdl
cp /home/rius/NEW_MTL/An-124-100.mdl /home/rius/MTL/IVAO_MTL/IVAO_A124/model/An-124-100.mdl
cp /home/rius/NEW_MTL/SBAI_An-148.mdl /home/rius/MTL/IVAO_MTL/IVAO_A148/model/SBAI_An-148.mdl
cp /home/rius/NEW_MTL/SBAI_An-158.mdl /home/rius/MTL/IVAO_MTL/IVAO_A148/model.158/SBAI_An-158.mdl
cp /home/rius/NEW_MTL/GAI_AN225_B.mdl /home/rius/MTL/IVAO_MTL/IVAO_A225/model/GAI_AN225_B.mdl
cp /home/rius/NEW_MTL/TFS_A300-600_GE.mdl /home/rius/MTL/IVAO_MTL/IVAO_A306/model.GE/TFS_A300-600_GE.mdl
-
-
Merci beaucoup, je vais tester ton script ce soir en rentrant.
Je te tiens au courant -
Ton script fonctionne à merveille :) Merci beaucoup
Mais j'ai un petit soucis.
Lorsque j'ai converti en automatique les fichiers avec le logiciel MCX, il a renommer un peu les fichiers.
Ex: rwai a-10c_empty.mdl au lieu de RWAI A-10C_Empty.MDL
Comment pourrais faire pour renommer tous les fichiers en fonction du fichier "fich" dans ton dernier post ?
J'ai essayer de comprendre ton script, mais j'ai un peu de mal
Merci-
Les fichiers à convertir se trouvent où ?
Tous dans le même répertoire, ou bien dans des répertoires différents ?
Pour t'aider dans la compréhension du script :
À partir d'une variableline="/home/rius/MTL/IVAO_MTL/IVAO_A10/model/RWAI A-10C_Empty.mdl"
:
nom="${line##*/}"renverra ce qui se trouve après le dernier "/" (slash)chemin="${line%/*}"renverra ce qui se trouve avant le dernier "/" (slash)
-