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 :

Possibilité de modifier un fichier en entrée avec AWK ???


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 92
    Points : 30
    Points
    30
    Par défaut Possibilité de modifier un fichier en entrée avec AWK ???
    Bonjour,

    Est il possible d'agir (en modfication) directement su un fichier en entrée avec la commande awk.

    Si oui qq'un peut me dire comment ?

    Merci

  2. #2
    Membre habitué Avatar de tretsois
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 181
    Points : 196
    Points
    196
    Par défaut
    bonjour delphine_lep,
    tu fait un man awk et tu verra que awk ne sait pas remplacer une occurence.
    (du moins j'ai pas trouvé)
    la vie est belle

  3. #3
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Si tu fais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{print $2}' foo.txt > foo.txt
    Le fichier est ouvert en écriture avant d'exécuter le programme, donc le fichier est vide quand le programme awk est exécuté.... et le fichier reste vide ...

    Mais awk peut lire ses données sur l'entrée standard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat foo.txt | awk '{print $2}' > foo.txt
    Et là, c'est ok

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 92
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    J'ai essayé mais je n'ai pas réussi à exécuter la commande
    cat foo.txt | awk '{print $2}' > foo.txt
    ne focntionne pas

  5. #5
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Sans rien changer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    romain@romain /tmp> cat foo.txt                                           18:23
    1 2 3
    4 5 6
    7 8 9
    romain@romain /tmp> cat foo.txt | awk '{print $2}' > foo.txt              18:23
    romain@romain /tmp> cat foo.txt                                           18:23
    2
    5
    8
    romain@romain /tmp>
    .... Y'a quoi dans ton fichier ?

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 92
    Points : 30
    Points
    30
    Par défaut
    oups !!! Désolé


    Ayant l'esprit plus clair ce matin , j'ai réessayé et effectivement ca marche mieux !!!

    Merci

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    autre
    Inscrit en
    Février 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Février 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Ne marche pas...
    Je ne sais pas quel environnement est utilisé pour faire ca mais chez moi en bon vieux bourne shell (le classique linux de base) clairement ligne pour ligne et mot pour mot cette methode ne marche pas...

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 551
    Points : 19 385
    Points
    19 385
    Par défaut
    Themails7: en effet. regarde ici.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. transformer un fichier csv en un autre avec awk
    Par nizartl dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 28/01/2011, 16h02
  2. Possibilité de checker quand un fichier est modifié
    Par fabibi001 dans le forum VBScript
    Réponses: 3
    Dernier message: 11/04/2010, 22h36
  3. Réponses: 6
    Dernier message: 24/03/2010, 16h31
  4. [SQL] Modifier un fichier HTML statique en cache avec rename()
    Par warpyou dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 19/09/2006, 10h32

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