Bonjour,
Je dois modifier plusieurs programmes sous UNIX (ajouter des lignes après certaines commandes). comment puis-je faire pour automatiser ces modifications ?
Bonjour,
Je dois modifier plusieurs programmes sous UNIX (ajouter des lignes après certaines commandes). comment puis-je faire pour automatiser ces modifications ?
Bonjour,
Il nous faut plus d'informations si tu veux que l'on puisse t'aider !
- Est-ce que les commandes que tu cherches sont toujours les mêmes ?
- Combien y en a-t-il ?
- Est-ce que les lignes que tu souhaites ajouter sont toujours les mêmes ?
- Est-ce que les fichiers cibles sont tous au même endroit ?
- ...
Sinon, saches que
permet de créer un fichier "nouveau_fichier" qui sera une copie de "fichier origine" dans lequel on a remplacé "chaine_a_remplacer" par "nouvelle_chaine"
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed 's/chaine_a_remplacer/nouvelle_chaine/g' fichier_origine > nouveau_fichier
Donc en mettant quelques commandes de ce type dans un script, cela devrait te permettre de résoudre ton problème.
En fait on m'a parlé de l'outil awk pour faciliter les modif.
L'idée générale :
j'ai X fichiers (tous sous le même répertoire), qui contiennent des lignes de commandes (en pro*c) et je dois rajouter à la suite de ces lignes une ligne de commande supllémentaire (toujours la même).
Je sais pas si c'est clair, cà à l'air simple comme ça mais ???????
C'est pas encore très précis.
Qu'est ce que tu entends pas "à la suite" ?
A la fin de chacune des lignes de commande recherchées ?
Après le groupe de lignes recherché ?
A la fin des fichier contenant ces commandes ?
permet d'ajouter une ligne à la fin d'un fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "message" >> fichier.txt
pour ajouter la ligne à tous les fichiers du répertoire courant (*).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for i in *; do echo "message" >> fichier.txt done
C'est ça que tu veux ?
OK,
Je vais te décrire un exemple de ce que je veux réaliser.
j'ai plusieurs fichier .pc (a.pc, b.pc...)
dans ces fichier j'ai une ligne
qui se trouve dans le corps des fichiers
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include <gestimpr.h>
je veux ajouter après cette ligne
un autre exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include<userprog.h>
J'ai une ligne
et je veux ajouter après cette ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part EXEC SQL INCLUDE sqlca.h;
et ainsi de suite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 EXEC SQL INCLUDE bmtmain.h;
Le fait est que j'ai énormément de fichiers à traiter, et que j'ai beaucoup de ligne à ajouter. Je pourrais le faire manuellement, mais c'est au risque d'oublier certaines lignes voire certains fichiers. C'est pourquoi je voudrais créer des scripts qui me permettent de faire ces ajouts sans erreur.
j'espère que tu pourras m'éclairer...
Partager