Salut à tous!
je voudrais savoir comment faire pour obtenir l'adresse IP de ma machine
(uniquement la chaine 'xxx.xxx.xxx.xxx') dans un shell.
j'ai essayé:
cisco~ $ ifconfig | grep 'eth0' -1 | grep 'inet adr:'
j'obtiens
inet adr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.255 Masque:255.255.255.0
Merci de m'aider a obtenir uniquement l'adresse qui suit "inet adr:".
# un sed à l'ancienne
Posté par Dan . Évalué à 0.
[^] # Re: un sed à l'ancienne
Posté par Dan . Évalué à 0.
ifconfig eth0
est plus propre que
ifconfig | grep 'eth0' -1
donc
ifconfig eth0 | sed -n 's/.*inet adr:\([^.]*.[^.]*.[^.]*.[^ ]\).*$/\1/p'
c'est mieux.
[^] # Re: un sed à l'ancienne
Posté par Francis Einstein . Évalué à 1.
Merci beaucoup!
[^] # Re: un sed à l'ancienne
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 2.
ifconfig eth0 | sed -n 's/.*inet adr:\([^.]*.[^.]*.[^.]*.[^ ]*\).*$/\1/p'
La gelée de coings est une chose à ne pas avaler de travers.
# ifconfig eth0|awk '($0~"inet adr"){gsub("adr:","");print $2}'
Posté par fyah . Évalué à 1.
[On imprime le deuxième champ du résultat de la subsitution de "adr:" par "" à la ligne de l'output de ifconfig eth0 qui contient "inet adr"]
# Je n'aime ni sed ni awk
Posté par lom (site web personnel) . Évalué à 1.
[^] # Re: Je n'aime ni sed ni awk
Posté par Dan . Évalué à 1.
Alors que sed se suffit à lui-même, ta commande fait appel à 3 commandes.
Résultat (sur ma machine) :
time ifconfig eth0 | grep 'inet adr' | cut -f2 -d':' | cut -f1 -d' '
real 0m0.040s
time ifconfig eth0 | sed -n 's/.*inet adr:\([^.]*.[^.]*.[^.]*.[^ ]*\).*$/\1/p'
real 0m0.028s
Ça fait quand même beaucoup en pourcentage...
PS : attention, dans le grep, c'est 'inet adr' et pas 'inet addr'
[^] # Re: Je n'aime ni sed ni awk
Posté par lom (site web personnel) . Évalué à 1.
Pour le coup du adr/addr, il fait croire que ifconfig est localise: tout est anglais chez moi, et c'est bien 'addr' dans ce cas. Ce qui me fait dire que suivant ce que veut faire l'auteur du forum avec son script, il va falloir faire gaffe.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.