IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

script shell pour remplacer un mot dans un fichier


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 46
    Points
    46
    Par défaut script shell pour remplacer un mot dans un fichier
    salut tous,
    j'au un fichier de la structure suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    mail1 login1
    mail2 login2
    mail3 login3
    mail4 login4
    mail5 login5
    mail6 login6
    ....
    je veux faire un script pour modifier le mail sans le besoin d'editer manuellement le fichier

    j'ai trouvé quelques exemple sur le NET telsque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #modifMail.sh
    cat virtual | awk '{ sub(/'$1'/,/'$2'/);print}' > virtual2
    avez vous des idées SVP

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Bonjour,

    ce n'est peut-être pas la peine de dégainer awk, il y a sed.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonsoir.

    Citation Envoyé par MSM_007 Voir le message
    je veux faire un script pour modifier le mail sans le besoin d'editer manuellement le fichier
    Tu ne donnes pas assez de détails :


    • Tu veut remplacer l'Email à l'aide d'un script certes mais comment et par quoi ? (saisie ? paramètre ? constante ?)
    • Tu veut remplacer toutes les lignes du fichiers ? Certaines ? Une seule ? Et dans qu'elles conditions ?
    • Le langage de script est il imposé ? (Perl est pas mal du tout pour ce genre de chose par exemple mais Bash peut faire l'affaire)

    En tout cas s'il faut juste remplacer un mot dans ton script, tu peut te contenter de faire quelque chose de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #!/bin/bash
     
    file_in= # Chemin du fichier d'entrée
    file_out= # Chemin du fichier de sortie
    word1= #Expression à remplacer
    word2= #Expression de remplacement
     
    cat $file_in | while true
    do
        read $ligne
        if [ "$ligne" = "" ]
        then
            exit
        else
            set -- $ligne
            if [ "$1" = "$word1" ]
            then
                echo "$word2    $2" >> $file_out
            else
                echo $ligne >> $file_out
            fi
        fi
    done
    (script non testé).

    S'il faut aller plus loin > Expressions régulières

    Citation Envoyé par N_BaH Voir le message
    ce n'est peut-être pas la peine de dégainer awk, il y a sed.
    +1

    Cordialement,
    Idriss

Discussions similaires

  1. outil pour remplacer des mots dans un xml
    Par hedibox dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 10/10/2013, 12h45
  2. Boucle pour remplacer des mots ds un fichiers
    Par dinozo13 dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 21/07/2008, 14h34
  3. Réponses: 10
    Dernier message: 29/04/2006, 10h40
  4. [RegEx] motif pour remplacer un mot dans du code HTML ...
    Par r-zo dans le forum Langage
    Réponses: 6
    Dernier message: 31/03/2006, 13h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo