Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2011, 10h47   #1
Membre du Club
 
Inscription : août 2009
Messages : 65
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 65
Points : 44
Points : 44
Par défaut Awk : supprimer les espaces d'une chaine

Bonjour,

Excusez-moi si cette question a déjà été posée malgré mes recherches.

Voilà, j'utilise awk pour évaluer l'expression suivante :

Code :
1
2
 
awk '$2=="machaine1" && $1=="machaine2" && substr($0,115,8)=="chaine" {print}' mon_fichier
Seulement voilà, dans le j'ai des blancs de récupérer. Exemple Afin de satisfaire l'égalité
Code :
substr($0,115,8)==chaine
(la partie droite n'a pas blancs en trop), je dois supprimer les blancs de la partie gauche, ramenés par la fonction substr.

J'ai vu qu'il existe la fonction sub mais je n'arrive pas à l'utiliser. J'ai essayé le code suivant en vain :
Code :
1
2
 
sub(/ /,"",substr($0,115,8))
Avez-vous une idée ?

Merci pour votre aide, toujours si précieuse.

Cordialement,
Emmachane
emmachane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 11h30   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
Bonjour,

sub transforme la variable qui lui est donnée, or, ici, tu lui donnes un texte.
Code :
1
2
3
4
echo "abra cada bra" | awk 'sub("a","",$2), {print $2}'
cda
echo "abra cada bra" | awk 'gsub("a","",$2), {print $2}'
cd
je ferais comme ça :
Code :
maVar=substr($0,115,8); sub(/ /,"",maVar); maVar==maChaine
bien que ça me semble laborieux.
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 06/06/2011, 23h14   #3
Membre du Club
 
Inscription : août 2009
Messages : 65
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 65
Points : 44
Points : 44
Merci N_BaH
emmachane est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h54.


 
 
 
 
Partenaires

Hébergement Web