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