Script shell

Résolu
ouimaisnon -  
 ouimaisnon -
Salut,

j'essaye de faire un script shell pour extraire les données à partir d'un fichier texte.

Les données sont formatées ainsi :

debut_texte : 123 AAAA BBBB
debut_texte : 9 AAAA
debut_texte : 44 AAAA BBBB

en fait j'aimerais tout simplement récupérer AAAA (qui comprend des caractères majuscules et parfois des chiffres)

j'utilise grep pour la recherche comme cela :

grep -o '[A-Z0-9]{1,16}' data.txt


le soucis c'est que ça ne m'affiche rien, je vois pas où ça cloche :(

Merci d'avance pour votre aide !

3 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Merci d'afficher un exemple concret de ton fichier, peut être que "grep" n'est pas la solution idéale....

    Sinon essaye plutôt avec "egrep" (ou grep -E).
    0
  2. ouimaisnon
     
    voilà un extrait

    161  07/11/N1011 00:33 BOBLEPONGE, dasihaul  
    puissance : 114 HIPOKILE PASTISSAD   
    943  voir  
    163  07/11/N1011 00:18 MARCAURELL, dasihaul  
    puissance : 176 CHAT7NOIR   
    655  voir  
    164  07/11/N1011 00:13 HULRYC, dasihaul  
    puissance : 132 HIPOKILE PASTISSAD   
    1004  voir  
    165  07/11/N1011 00:10 MARCAURELL, dasihaul  
    puissance : 176 NIARKS PASTISSAD 
    0
    1. ouimaisnon
       
      ceux sont les lignes où il y a le mot "puissance" qui m'intéressent
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Et tu dois récupérer quoi exactement ?

      Mets-le en gras dans l'exemple ;-)
      0
    3. ouimaisnon
       
      voilà
      0
  3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    $ cat brol
    161  07/11/N1011 00:33 BOBLEPONGE, dasihaul  
    puissance : 114 HIPOKILE PASTISSAD   
    943  voir  
    163  07/11/N1011 00:18 MARCAURELL, dasihaul  
    puissance : 176 CHAT7NOIR   
    655  voir  
    164  07/11/N1011 00:13 HULRYC, dasihaul  
    puissance : 132 HIPOKILE PASTISSAD   
    1004  voir  
    165  07/11/N1011 00:10 MARCAURELL, dasihaul  
    puissance : 176 NIARKS PASTISSAD
    
    $ awk '$1 ~ /puissance/ { print $4 }' brol 
    HIPOKILE
    CHAT7NOIR
    HIPOKILE
    NIARKS
    
    $ 
    0
    1. ouimaisnon
       
      merci de ton aide, juste tu peux m'expliquer un peu comment fonctionne ta commande ?
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      $1 ~ /puissance/
      Si le champ 1 ($1) est équivalent (~) au motif entre "/" et "/"


      { print $4 }'
      Afficher sur la sortie standard le champ 4 ($4)

      * Les champs par défaut étant délimiter par un espace
      0
    3. ouimaisnon
       
      merci beaucoup ! ça marche à merveille :D
      0