Commande Awk: récupérer valeur sur une ligne
Résolu
marco.marco
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
marco.marco Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
marco.marco Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Une petite question pour les specialistes de la commande awk:
Voilà, je voudrais récupérer sur une ligne de ce type :
machin6765765|truc00001|chose002334|etc
uniquement la valeur "truc" et les chiffres qui lui succède.
Les séparateurs sont toujours "|" mais la place de cette valeur peut changer sur la ligne (donc pas possible de faire un awk -F"|" '{print $2}'...) ainsi que les chiffres. Et qui plus est elle peut se retrouver plusieurs fois sur la ligne soit avec les memes chiffres, soit avec des chiffres differents.
SAvez vous s'il existe une commmande awk (ou autre chose que awk remarque, je ne suis pas difficile ;-)) qui puisse me permettre de récupérer ca ?
Mille mercis d'avance.
Une petite question pour les specialistes de la commande awk:
Voilà, je voudrais récupérer sur une ligne de ce type :
machin6765765|truc00001|chose002334|etc
uniquement la valeur "truc" et les chiffres qui lui succède.
Les séparateurs sont toujours "|" mais la place de cette valeur peut changer sur la ligne (donc pas possible de faire un awk -F"|" '{print $2}'...) ainsi que les chiffres. Et qui plus est elle peut se retrouver plusieurs fois sur la ligne soit avec les memes chiffres, soit avec des chiffres differents.
SAvez vous s'il existe une commmande awk (ou autre chose que awk remarque, je ne suis pas difficile ;-)) qui puisse me permettre de récupérer ca ?
Mille mercis d'avance.
C'est exactement ce que je voulais. Je ne connaissais pas cette commande, comme quoi on en apprend tous les jours ;-)
Merci à toi itou mamiemando (le cut ne fonctionnait pas dans ce cas précis car la valeur pouvant changer de place, un cut ou un awk -f(n) ne m'aurait pas été très utile).
ou un awk -f(n) ne m'aurait pas été très utile
Oui, si tu aurais fait le test par champ (j'ai modifié volontairement la position de champ)
P.S. Je préfére la solution courte avec grep ;-)