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

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Yves PETRONIN
Date:  
À: La liste francophone des scripts shell
Sujet: Re: [#!/fr] Automatisation de documents industries
Merci.
Je me doutais bien que l'on pouvait trouver mieux que mes pénibles
essais....La notion de ce qui est "trivial" est très "locale"....
Je n'imaginais pas que awk, qui décidément a des ressources
immenses, puisse filtrer ce qui est entre 2 séparateurs... j'avais
un peu regardé avec sed, mais là aussi, sans expérience ce n'est pas
simple de savoir comment s'y prendre.....


Le 17 oct. 11 à 21:23, Patrick Proniewski a écrit :

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

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