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

Shell et commandes GNU Discussion :

Lire et modifier un fichier en bash


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Points : 140
    Points
    140
    Par défaut Lire et modifier un fichier en bash
    Bonjour,

    j'aimerais modifier un fichier texte facilement.

    Voici une partie du fichier à modifier :
    /*_________________________________________________________
    
    PEMSA : arbre
    
    _________________________________________________________*/
    
    \User declarations:
    
    //Gap penalties
    #define GOP -7
    #define GEP -1
    #define GTP -5
    #define GOGP -10
    #define NONE_SEQ -1 
    
    //infoBackProp behavior
    #define ADAPT 1
    #define CREATE 0
    
    //nodeFusion behavior
    #define ROOT 1
    #define NODE 0
    
    //Children position
    #define LEFT_C 0
    #define RIGHT_C 1
    
    
    //Definition des residus, ici AA
    enum AA{C, S, T, P, A, G, N, D, E, Q, H, R, K, M, I, L, V, F, Y, W, GO, GE, GT };
    #define AA_NUMBER 23 //20 AA + 3 Types de gap définis
    
    //Problem dependant 
    #define NB_SEQ 7
    #define SIZE_ALG_SEQ 288 //72*4
    #define GLOBAL_MAX_LENGTH 288 //72*5
    #define TOTAL_RES 429
    
    #define MAX_GAP 4
    #define MAX_GAP_EXTENSION 10

    J'aimerais modifier les lignes en rouge. Surtout les nombres. J'ai regardé sur le net mais j'ai du mal à l'adapter à mon problème.

    Merci

    Alaninho

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Pour ma part, je ferais ça à coup de grep et de sed. Est-ce la meilleure méthode / la plus rapide ? Je ne sais pas...

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2009
    Messages : 236
    Points : 491
    Points
    491
    Par défaut
    Oui j'approuve: sed est un outil sympa et polyvalent pour se genre de manoeuvre

    Dans mes lointains souvenirs on pourrait aussi utiliser awk...

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 587
    Points : 19 470
    Points
    19 470
    Par défaut
    grep et sed
    c'est redondant
    sed sait faire correspondre des regex (voir man 7 regex) avec des lignes d'un fichiers.
    sed est plus adapté pour ce type de substitution que awk.

    pourquoi les lignes en rouges ?

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 303
    Points : 12 802
    Points
    12 802
    Par défaut
    Bonjour,

    Pour ma part, je n'utiliserais ni sed, ni awk ou tout autre editeur de flux.
    Ici, cela ressemble étrangement à du C et donc le compilateur peut ce charger de changer les valeurs en réécrivant chaque macro à modifier comme ceci par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #ifndef NB_SEQ
    #define NB_SEQ 7
    #endif
    coté compilateur, on peut ensuite définir une valeur comme ceci:

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    c'est redondant
    sed sait faire correspondre des regex (voir man 7 regex) avec des lignes d'un fichiers.
    sed est plus adapté pour ce type de substitution que awk.

    pourquoi les lignes en rouges ?
    J'y ai repensé hier soir et, effectivement, ça fait un peu double emploi. Autant pour moi ^^

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par alaninho Voir le message
    J'aimerai modifier les lignes en rouge. Surtout les nombres.
    Les modifier de quelle manière?

    J'ai regardé sur le net mais j'ai du mal à l'adapter à mon problème.
    Qu'as-tu essayé?

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Points : 140
    Points
    140
    Par défaut
    Désolé pour ma réponse tardive, merci tous pour votre aide mais en faite j'ai opté pour du perl, étant dans la biologie, je devais analyse un fichier FASTA et perl si prête très bien.

    Encore merci.

    Alaninho

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

Discussions similaires

  1. lire et modifier un fichier flash
    Par roujiC dans le forum Flash
    Réponses: 4
    Dernier message: 30/11/2008, 12h43
  2. [FTP] Pouvoir lire et modifier un fichier en ligne
    Par ultraxa dans le forum Langage
    Réponses: 2
    Dernier message: 29/10/2008, 23h56
  3. Quel API conseillez-vous pour lire et modifier un fichier XML ?
    Par sbelli dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 20/10/2008, 17h25
  4. lire et modifier un fichier .php
    Par wonderyan dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2007, 18h36
  5. [AS400] Lire et modifier un fichier physique en C/S ?
    Par swirtel dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 26/10/2005, 15h58

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