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