Voici une idée de solution (non testée, à verifier) :
S'il s'agit juste d'eclater les blocs, c''est à) dire bloc 1 ecrit tel quel dans fichier.1, bloc 2 dans fichier.2, etc, alors il "suffit", lorsqu'on voit passer un '>', de changer le nom du fichier de sortie. Ce qui donne :
grosso modo : quand on voit passer ">", on incremente un compteur de blocs, i, puis on change le nom de fichier "bloc_file.i". next permet de passer direct à la ligne suivant, pour eviter le print.
En temps normal, on se contente de faire un print de la ligne lue dans le fichier courrant.
Le bloc BEGIN initialise les variables.
# solution vite fait
Posté par castorpilot . En réponse au message Extraire des blocs de données dans un fichier. AWK?. Évalué à 3.
S'il s'agit juste d'eclater les blocs, c''est à) dire bloc 1 ecrit tel quel dans fichier.1, bloc 2 dans fichier.2, etc, alors il "suffit", lorsqu'on voit passer un '>', de changer le nom du fichier de sortie. Ce qui donne :
awk 'BEGIN{file = "bloc_file";i=0; fichier_courrant = file "." i} />/{i++ ; fichier_courrant = file "." i; next} {print > fichier_courrant}'
grosso modo : quand on voit passer ">", on incremente un compteur de blocs, i, puis on change le nom de fichier "bloc_file.i". next permet de passer direct à la ligne suivant, pour eviter le print.
En temps normal, on se contente de faire un print de la ligne lue dans le fichier courrant.
Le bloc BEGIN initialise les variables.