Script shell

Résolu/Fermé
ouimaisnon - 12 nov. 2011 à 20:03
 ouimaisnon - 12 nov. 2011 à 20:28
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 !

A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
12 nov. 2011 à 20:07
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
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
ceux sont les lignes où il y a le mot "puissance" qui m'intéressent
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
12 nov. 2011 à 20:14
Et tu dois récupérer quoi exactement ?

Mets-le en gras dans l'exemple ;-)
0
voilà
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
12 nov. 2011 à 20:18
$ 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
merci de ton aide, juste tu peux m'expliquer un peu comment fonctionne ta commande ?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
12 nov. 2011 à 20:25
$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
merci beaucoup ! ça marche à merveille :D
0