# Bash - optimsation codage recuperer ip

**URL:** <https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434 "2016-02-20T22:48:02Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![hayou](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/h/e0b2c6/32.png) [@hayou](https://www.debian-fr.org/u/hayou)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/1 "2016-02-20T22:48:02Z")

</div>

bonjour,  
j’ai écrit ce code mais je pense qu’il n’est pas du tout optimisé :

[code]#!/bin/sh  
IPETH0=`ifconfig eth0 | grep "inet ad" |cut -f2 -d: |awk '{print $1}' |cut -d '.' -f1`  
IPETH1=`ifconfig eth0 | grep "inet ad" |cut -f2 -d: |awk '{print $1}' |cut -d '.' -f2`  
IPETH2=`ifconfig eth0 | grep "inet ad" |cut -f2 -d: |awk '{print $1}' |cut -d '.' -f3`

ADRESSE=`echo $IPETH0.$IPETH1.$IPETH2`  
echo $ADRESSE  
[/code]

Pouvez-vous m’aider?

---

<div class="post-metadata">

**Author:** ![micky979](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@micky979](https://www.debian-fr.org/u/micky979)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/2 "2016-02-20T22:48:05Z")

</div>

Bonjour,

Ceci pourrais correspondre à ton attente :

```auto

```

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/3 "2016-02-20T22:48:05Z")

</div>

[code]#!/bin/sh

ADRESSE=$(netstat -ie | sed -n ‘s/^._inet adr:([0-9]_.).([0-9]_.).([0-9]_.).([0-9]_.)._$/\1.\2.\3.\4/p’)

echo $ADRESSE  
[/code]  
Il n’est pas nécessaire d’être root pour le lancer.

---

<div class="post-metadata">

**Author:** ![hayou](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/h/e0b2c6/32.png) [@hayou](https://www.debian-fr.org/u/hayou)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/4 "2016-02-20T22:48:16Z")

</div>

@ micky979 et MisterFreez : je n’affiche pas l’adresse ip en entier 😉 :  
seulement les 3 premiers octets :

# ./iptest

=\>\> 192.168.0

vos scripts affiche toute l’adresse ip. ![:119](https://www.debian-fr.org/uploads/default/original/1X/0287f377b0e103e172422ffbbe8c639fd3e12c9e.gif "vertige")

---

<div class="post-metadata">

**Author:** ![micky979](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@micky979](https://www.debian-fr.org/u/micky979)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/5 "2016-02-20T22:48:16Z")

</div>

Bonjour,

Il suffit juste de corriger un peu le sed pour lui dire de ne pas prendre le dernier octect.

[code]#!/bin/sh

ADRESSE=$(netstat -ie | sed -n ‘s/^._inet adr:([0-9]_.).([0-9]_.).([0-9]_.)…\*$/\1.\2.\3/p’)

echo $ADRESSE[/code]

---

<div class="post-metadata">

**Author:** ![hayou](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/h/e0b2c6/32.png) [@hayou](https://www.debian-fr.org/u/hayou)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/6 "2016-02-20T22:48:17Z")

</div>

Merci micky979, avec ton code on a l’adresse lo aussi. Donc voici le code final :

```auto
#!/bin/sh
TEMP=$(netstat -ie | sed -n 's/^.*inet adr:\([0-9]*.\)\.\([0-9]*.\)\.\([0-9]*.\)\..*$/\1.\2.\3/p')
ADRESSE=`echo $TEMP | awk '{print $1}'`
echo $ADRESSE
```

Merci à toi

---

<div class="post-metadata">

**Author:** ![Totor](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/58f4c7/32.png) [@Totor](https://www.debian-fr.org/u/Totor)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/7 "2016-02-20T22:48:18Z")

</div>

Bonjour,

Ceci devrait faire l’affaire :

```auto
infos=$(ifconfig eth0)
adresse=${infos#*adr:}
echo ${adresse%.*Bcast*}
```

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/8 "2016-02-20T22:48:21Z")

</div>

Salut,

La petite coche verte en bas à droite 🙂 Fait !

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/9 "2016-02-20T22:48:21Z")

</div>

Joli 😃

C’est des commandes que je connais très mal.

---

<div class="post-metadata">

**Author:** ![hayou](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/h/e0b2c6/32.png) [@hayou](https://www.debian-fr.org/u/hayou)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/10 "2016-02-20T22:48:21Z")

</div>

@ ggoodluck47 : Merci  
@ MisterFreez : tu fais quelle master ? je suis au cnam moi à grenoble aussi

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 10:48 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/11 "2016-02-20T22:48:22Z")

</div>

Actuellement en première année de master informatique. L’an prochain en seconde année génie informatique, normalement en alternance en STMicroelectronics.

---

<div class="post-metadata">

**Author:** ![Totor](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/58f4c7/32.png) [@Totor](https://www.debian-fr.org/u/Totor)\
**Post date:** [Février 20, 2016, 10:49 UTC](https://www.debian-fr.org/t/bash-optimsation-codage-recuperer-ip/27434/12 "2016-02-20T22:49:08Z")

</div>

> [@MisterFreez](#):
>
> C’est des commandes que je connais très mal.

Et pourtant, une fois bien prises en main, toutes ces syntaxes bash sont forts pratiques car elles permettent de se passer de quelques outillages (cut, sed, tr …) qui impliquent la création/ destruction de processus, occupation/libération mémoire… et au final de gagner en perf sur de très gros traitements itératifs.
