# BASH : sed et bash

**URL:** <https://www.debian-fr.org/t/bash-sed-et-bash/63472>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 8:46 UTC](https://www.debian-fr.org/t/bash-sed-et-bash/63472 "2016-02-21T20:46:39Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![vohu](https://www.debian-fr.org/user_avatar/www.debian-fr.org/vohu/32/4108_2.png) [@vohu](https://www.debian-fr.org/u/vohu)\
**Post date:** [Février 21, 2016, 8:46 UTC](https://www.debian-fr.org/t/bash-sed-et-bash/63472/1 "2016-02-21T20:46:39Z")

</div>

Salut,

J’ai un truc bizarre avec ce code :

```auto
LANG='fr_FR.UTF-8'
 
res="`grep $LANG /etc/locale.gen | sed -e '/^[]*#/d' -e '/^$/d'`"
echo $res
```

Elle me renvoie bien les lignes non commentées et contenant $LANG, par contre, dans le cas ou $LANG n’est pas présent, j’ai en retour une ligne vide… alors que sed les retire :s

J’aimerai que la chaine renvoyée soit vide car je fais un if sur $res, qui du coup est toujours vrai ☹

Merci pour votre aide

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:46 UTC](https://www.debian-fr.org/t/bash-sed-et-bash/63472/2 "2016-02-21T20:46:40Z")

</div>

[code]LANG=‘fr\_FR.UTF-8’

res="`grep $LANG /etc/locale.gen | sed -e '/^[]*#/d' -e '/^$/d'`"  
echo -n $res[/code]

Ou alors, transmet le code qui suit pour qu’on puisse voir comment est fait ce “if”

Au cas où:

```auto

```

---

<div class="post-metadata">

**Author:** ![vohu](https://www.debian-fr.org/user_avatar/www.debian-fr.org/vohu/32/4108_2.png) [@vohu](https://www.debian-fr.org/u/vohu)\
**Post date:** [Février 21, 2016, 8:46 UTC](https://www.debian-fr.org/t/bash-sed-et-bash/63472/3 "2016-02-21T20:46:40Z")

</div>

[quote=“MicP”][code]LANG=‘fr\_FR.UTF-8’

res="`grep $LANG /etc/locale.gen | sed -e '/^[]*#/d' -e '/^$/d'`"  
echo -n $res[/code]

Ou alors, transmet le code qui suit pour qu’on puisse voir comment est fait ce “if”[/quote]

Effectivement le -n permet de l’enlever mais là je vois pas comment l’intégrer

voilà la suite

```auto
if [-z "$res"]; 
then
    echo "installer les locales"
else
    echo "OK"
fi
```

EDIT :

Bon, je comprends pas, ça fonctionne tel quel maintenant :s

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:46 UTC](https://www.debian-fr.org/t/bash-sed-et-bash/63472/4 "2016-02-21T20:46:40Z")

</div>

J’avais finit mon “edit” quand j’ai vu que tu avais formulé ton test de “if” de la même façon 🙂  
Impec!

Ceci dit, [mono]$LANG[/mono] est une variable des paramètres régionaux ([mono]locale[/mono]) qui est normalement déjà renseignée,  
mais bien sûr, tout dépends de ce que tu veux faire et du contexte (que je ne connais pas) dans lequel tu utilise ton script.
