# Remplacer texte par un autre dans plusieurs fichiers

**URL:** <https://www.debian-fr.org/t/remplacer-texte-par-un-autre-dans-plusieurs-fichiers/55757>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 1:48 UTC](https://www.debian-fr.org/t/remplacer-texte-par-un-autre-dans-plusieurs-fichiers/55757 "2016-02-21T13:48:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![fluo](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/e9bcb4/32.png) [@fluo](https://www.debian-fr.org/u/fluo)\
**Post date:** [Février 21, 2016, 1:48 UTC](https://www.debian-fr.org/t/remplacer-texte-par-un-autre-dans-plusieurs-fichiers/55757/1 "2016-02-21T13:48:52Z")

</div>

Bonjour,

je cherche la commande miraculeuse qui permet de remplacer un motif par un autre dans plusieurs fichiers à l’aide d’une expression régulière, et en écriture.

Pour l’instant, je n’ai que ça (mais ça ne marche pas avec une expression régulière) :

```auto

```

Merci d’avance pour vos réponses.

---

<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 21, 2016, 1:48 UTC](https://www.debian-fr.org/t/remplacer-texte-par-un-autre-dans-plusieurs-fichiers/55757/2 "2016-02-21T13:48:52Z")

</div>

Si, si ça marche c’est ton expression qui ne doit pas être valide.

Si tu peut, montre-nous l’expression 🙂

---

<div class="post-metadata">

**Author:** ![fluo](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/e9bcb4/32.png) [@fluo](https://www.debian-fr.org/u/fluo)\
**Post date:** [Février 21, 2016, 1:48 UTC](https://www.debian-fr.org/t/remplacer-texte-par-un-autre-dans-plusieurs-fichiers/55757/3 "2016-02-21T13:48:52Z")

</div>

> [@MisterFreez](#):
>
> Si, si ça marche c’est ton expression qui ne doit pas être valide.

=\>ok, on imagine que mon fichier fichier.txt contient 3 lignes :

```auto
aaa898989
bbb90909090
cccccc9889989898
```

Je souhaite remplacer toute ligne ayant comme motif des lettres obligatoirement suivi de chiffres obligatoirement, par oui pour avoir au final :

```auto
oui
oui
oui
```

J’ai tenté ça :

```auto
sed -i "s/[a-z]+[0-9]+/oui/g" ./fichier.txt
```

=\>mais ça ne marche pas 😕

---

<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 21, 2016, 1:48 UTC](https://www.debian-fr.org/t/remplacer-texte-par-un-autre-dans-plusieurs-fichiers/55757/4 "2016-02-21T13:48:52Z")

</div>

Il faut protéger les plus :

```auto

```

---

<div class="post-metadata">

**Author:** ![fluo](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/e9bcb4/32.png) [@fluo](https://www.debian-fr.org/u/fluo)\
**Post date:** [Février 21, 2016, 1:48 UTC](https://www.debian-fr.org/t/remplacer-texte-par-un-autre-dans-plusieurs-fichiers/55757/5 "2016-02-21T13:48:52Z")

</div>

[quote=“MisterFreez”]Il faut protéger les plus :

```auto

```

=\>Merci misterfreeze, c’est vrai qu’il y a certains opérateurs qui sont interprétés comme des caractères (comme le signe plus, +), et d’autres qui ne le sont pas (comme les crochets, []), à moi donc de connaître quelles sont les opérateurs à échapper.

Bonus pour ceux à qui ça interresse :  
En mode récursif :

```auto

```
