Le Wednesday 27 January 2010 21:10:00 Jeremie COURREGES-ANGLAS, vous avez 
écrit :
> Le mercredi 27 janvier 2010 à 07:38:09, christophe a écrit :
> > [...]
> #!/bin/bash
>
> [ $# -eq 0 ] && printf "Usage : $0 fichier [ autrefichier... ]\n" >&2 &&
> exit 1
>
> for file_base in "$@"; do
>
>     while read -r line; do
>
>       # Peu importe le nombre exact de tirets autour de "CUT HERE"
>         if [[ "$line" == *"---------- CUT HERE ----------"* ]]; then
>             fileno=$((fileno + 1))
>             continue
>         fi
>
>         # Souhaite t'on supprimer les lignes vides ? si oui, décommenter
>         #if [ -n "$line" ]; then
>             echo "$line" >> "$file_base$fileno"
>         #fi
>
>     done < "$file_base"
>
> done

Merci, je viens juste de rentrer . Après avoir essayé : ça me donne bien 
autant de fichiers qu'il y a de messages après le premier. Seul le premier ne 
devient pas un fichier. Inverser les deux boucles à l'intérieur du while ?
D'autre part, il faudrait juste que je supprime les deux retour à la ligne qui 
restent alors à chaque début de message. Décomment le if et le fi n'a pas 
suffi. Supprimer les "\n" ???
Merci encore.

-- 
christophe

Attachment: signature.asc
Description: This is a digitally signed message part.

Répondre à