Merci. C'est beaucoup plus joli.
J'ai pas mal avancé par ailleurs, mais bien plus difficilement que
je ne le pensais au début... avec une solution qui est plus
polyvalente à la fois dans la concaténation et le découpage. J'ai
ajouté la compilation Latex en ligne de commande et cela a un côté
plaisant pour la mise au point.
Quant au script awk, il me semble bien, mais je peux me tromper,
qu'il n'extrayait correctement le bloc "BEGIN MAIN-END MAIN" que
lorsque les fins de lignes étaient en format Unix (LF je crois)
C'est à vrai dire la première fois que je tombais sur ce problème de
fin de ligne et c'est maintenant résolu. D'ailleurs les fins de ligne
"Windows" fonctionnent aussi.
Merci encore et bonne soirée.
Le 24 oct. 11 à 07:21, Patrick Proniewski a écrit :
On 22 oct. 2011, at 09:45, Yves PETRONIN wrote:
> Par ailleurs mes derniers essais m'ont donnée l'idée (qui aurait
> due être triviale!) de concaténer mes fichiers en me basant sur le
> contenu du fichier "main" . Ce n'était pas le cas jusque là, mais
> une sorte de bricolage.
>
> Il s'agit juste de récupérer les lignes qui commencent par \input
> et de récupérer les noms des fichiers qui figurent entre les
> accolades, comme ci dessous:
>
> configfile.sty
> Part_A1
> Part_A2
> Part_00
> Part_01
> Part_02
> Part_03
> ......
Donc tu cherches à remplacer la ligne "\input{Part_1}" du fichier
"main" par le contenu du fichier "Part_1", c'est bien cela ?
> J'ai trouvé ce qui suit, mais je suppose que c'est très très
> perfectible...
>
> awk '/%---BEGIN-MAIN---/,/%---END-MAIN---/' Chemin-du-fichier | awk
> '/\input{/' | awk -F "{" '{$1="" ; print $2}' | awk -F "}" '{print
> $1}' > /main-recup2.txt
Oui, effectivement, c'est perfectible :)
Pour récupérer le nom des fichiers :
awk '/%---BEGIN-MAIN---/,/%---END-MAIN---/ { if (substr($1,1,6)=="\
\input") { split($1,a,/[{}]/); print a[2]} }' Chemin-du-fichier
(c'est fait un peu à la va-vite).
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