[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Découper un fichier texte en plusieurs fichiers en coupant à telle ligne



Le mercredi 27 janvier 2010 à 07:38:09, christophe a écrit :
> Bonjour la liste !
//
> J'ai essayé de les importer avec mon mailer (kmail/kontact) mais sans succés :
> il ne reconnaît que le premier et les autres sont dans le corps de texte du
> premier email.
> J'ai en vain chercher un outil de manipulation de texte (éditeur, traitement
> de texte) qui puisse me couper tout ça en petits fichiers (un fichier par
> mail) importables par un mailer.
> Je suis sûr qu'il existe une solution simple et élégante que quelqu'un
> connaît.
>
> Merci.
>
> --
> christophe

Ahem, je sais pas s'il y a une solution élégante, mais moi j'en aurais peut-être une
qui a l'air de faire ce que tu cherches :

## BEGIN CRADE BASH CODE

#!/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

# END CRADE BASH CODE


Voilà.
J'ai pas dit que c'était élégant..

--
"Free software, free society."
Jérémie Courrèges-Anglas <ktulu@wxcvbn.org>
GPG key : 1D7E 79DA

Attachment: signature.asc
Description: Digital signature


Reply to: