Bonjour,
j'ai un fichier "maitre" qui appelle différents fichiers "auxiliaires" et je souhaiterai copier automatiquement le contenu des fichiers auxiliaires dans le fichier maitre.
C'est à dire que le contenu du fichier maitre est actuellement le suivant
Citation :
blablabla
blablabla
APPELLE 'DONNES/fichier1.aux'
APPELLE 'DONNES/fichier2.aux'
blablabla
blablabla
blablabla
APPELLE 'DONNES/fichier3.aux'
APPELLE 'DONNES/fichier4.aux'
APPELLE 'DONNES/fichier5.aux'
blablabla
blablabla
|
Et je voudrai que toutes les lignes...
Citation :
APPELLE 'DONNES/fichierX.aux'
|
...soient remplacées par le contenu du fichier en question afin d'obtenir un nouveau_fichier_maitre qui contienne:
Citation :
blablabla
blablabla
[contenu du fichier1.aux]
[contenu du fichier2.aux]
blablabla
blablabla
blablabla
[contenu du fichier3.aux]
[contenu du fichier4.aux]
[contenu du fichier5.aux]
blablabla
blablabla
|
J'ai bidouillé un script en BASH pour établir la liste des appels des fichiers auxiliaires ...
Citation :
grep "^ APPELLE" fichier_maitre > APPELS.list
|
... puis je nettoie la liste ...
Citation :
cat APPELS.list | while read ligne
do
sed 's/ APPELLE //' | cut -c 2- | cut -f1 -d "'"
done
|
afin d'obtenir le listing "propre" des adresses
Citation :
DONNES/fichier1.aux
DONNES/fichier2.aux
DONNES/fichier3.aux
DONNES/fichier4.aux
DONNES/fichier5.aux
|
Mais je ne sais pas comment :
- stocker les adresses propres dans une variable
Quand je fais
Citation :
FICHIER=`sed 's/ APPELLE //' | cut -c 2- | cut -f1 -d "'"`
|
Le script crache un message d'erreur.
J'ai l'impression que c'est parce que la commande n'est plus à la suite du cat/while
- copier le contenu complet d'un fichier dans un autre sans écraser le contenu de celui-ci
J'avais dans l'idée de faire qq chose comme
Citation :
cat APPELS.list | while read ligne
do
FICHIER=`sed 's/ APPELLE //' | cut -c 2- | cut -f1 -d "'"`
sed 's/$ligne/[ContenuDuFICHIER]/' fichier_maitre
done
|
mais visiblement c'est mal parti...
Bref, je suis preneur de tout conseil pour transformer ce bricolage en script tout rutilent.
---------------
Quand Chuck Norris te répond "Dans ton cul", vérifie...