Re: [#!/fr] Automatisation de documents industries

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Patrick Proniewski
Date:  
À: La liste francophone des scripts shell
Sujet: Re: [#!/fr] Automatisation de documents industries
On 17 oct. 2011, at 19:05, Yves PETRONIN wrote:

> Mon problème est maintenant de recouper ce fichier en morceaux après l'avoir travaillé. J' arrive à le couper, mais j'ai un grand mal à éliminer du fichier "main modifié" les éléments qui ont été ajoutés, c'est à dire reconstituer le fichier original, sauf \begin{comment} et \end{comment} qui sont uniques et faciles à supprimer.


Si tu utilises awk dans ton script shell, il est alors trivial de lui faire extraire les portions qui t'intéressent.

>  1 % FICHIER MAIN NEUTRALISE APRES CONCATENATION
>  2 %***123456789***séparateur placé lors de la concaténation
>  3 \begin{comment}
>  4 \input {configfile.sty} % [Configuration file]
>  5 \begin{document} %[ beginning of  document]
>  6 %------------------------------------------------------
>  7 \input{Part_1}         %Front page
>  8 \input{Part_2}         % Intro & test specimen
>  9 \input{Part_3}         % Group 0
> 10 autres parties....
> 11 \input{Part_12}     % Appendix
> 12 %-----------------------------------------------------
> 13 \end{document}
> 14 %-----------------------------------------------------
> 15 \end{comment}
> 16 \begin{document}
> 17 % FIN FICHIER MAIN NEUTRALISE APRES CONCATENATION
> 18 
> 19 %***123456789***séparateur placé lors de la concaténation


En préliminaire, il faut que tu décides d'un séparateur constant qui te permette de récupérer ton bloc MAIN, par exemple :

%--- MAIN BEGIN ---
blah blah
%--- MAIN END ---

Ensuite, tu dis à awk de récupérer toutes les lignes qui sont entre deux séparateurs :

awk '/%--- MAIN BEGIN ---/,/%--- MAIN END ---/' ton_fichier > main-recup.latex

Il faudrait donc que ton séparateur se trouve entre les lignes 3 et 4, et entre les lignes 14 et 15. Une fois inséré dans ton fichier MAIN, il y restera, puisque awk inclue les lignes contenant ces séparateurs dans la sortie.

patpro

_______________________________________________
archives :
http://listes.patpro.net/list/sshfr.fr.html
http://listes.patpro.net/mailman/listinfo/script_shell_fr