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
signature.asc
Description: This is a digitally signed message part.