• # sed -i et autres ...

    Posté par . En réponse au message aide sur un script. Évalué à 1.

    quelques remarques pour améliorer ton script :
    for file in [^$prefix]*
    do
    echo $file
    done

    fonctionne chez moi ... Bizzare que ça ne passe pas chez toi.

    - Tu peux éventuellement utiliser des trucs spécifiques à bash (moins portable donc ) :
    shopt -s extglob
    for file in !($prefix); do
    echo $file
    done

    man bash pour plus de détails

    - pour éviter tous les fichiers temporaires, tu peux utiliser l'option -i de sed

    - une regex plus simple pour matcher le motif virgule ou virgule + espace est :
    , \? (soit virgule + espace + point d'interrogation echappé). Ensuite, dans ton motif de substitution, tu n'as plus besoin d'échapper les caractère
    's/, \?/, /g' doit suffire. Les motifs \< et \> ne sont pas utiles ici, puisque l'espace et la virgule sont déjà des délimiteurs de mot.

    - pour rajouter END à la fin, le mieux, c'est encore :
    echo $end >> $file
    (simple is beautiful ;)