# écrire dans un fichier depuis un script bash

**URL:** <https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 5:24 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109 "2016-02-20T17:24:07Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![bibich1985](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/e56c9b/32.png) [@bibich1985](https://www.debian-fr.org/u/bibich1985)\
**Post date:** [Février 20, 2016, 5:24 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109/1 "2016-02-20T17:24:07Z")

</div>

Bonjour,

je voudrais écrire un script en bash qui ouvre un fichier en écriture et modifie son contenu. je voudrait remplacer des lignes par d’autres spécifiées dans le script.

merci de me répondre c’est urgent.

---

<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, 5:24 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109/2 "2016-02-20T17:24:13Z")

</div>

Pas très bien compris ce que tu voulais, mais peut être que sed peut t’aider :

```auto

```

Pour modifier salut en hello.

Pour les trucs plus compliqué tu as awk.

---

<div class="post-metadata">

**Author:** ![bibich1985](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/e56c9b/32.png) [@bibich1985](https://www.debian-fr.org/u/bibich1985)\
**Post date:** [Février 20, 2016, 5:24 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109/3 "2016-02-20T17:24:22Z")

</div>

Bonjour,

merci pour votre réponse j’ai fini par régler le problème, maintenant j’en ai un autre, je vooudrait executer une requête sql depuis un script bash cette requête contient des paramètres qui sont définis dans le script (variable) le prob est quand j’exécute le fichier ça me sort une erreur:ERROR at line 1: USE must be followed by a database name  
voilà mon script:  
#!/bin/bash  
set var='centrale’  
mysql --user=root --password=‘123nexco’ --exec=“use $var;”

---

<div class="post-metadata">

**Author:** ![remp](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/r/9fc348/32.png) [@remp](https://www.debian-fr.org/u/remp)\
**Post date:** [Février 20, 2016, 5:24 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109/4 "2016-02-20T17:24:47Z")

</div>

je dirais plutôt:

#!/bin/sh  
var="centrale"  
mysql --user=root --password=‘123nexco’ --exec=“use ${var};”

---

<div class="post-metadata">

**Author:** ![usinagaz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/u/ecae2f/32.png) [@usinagaz](https://www.debian-fr.org/u/usinagaz)\
**Post date:** [Février 20, 2016, 5:29 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109/5 "2016-02-20T17:29:50Z")

</div>

bonsoir  
tu as résolu ton problème ?  
parce que sed -e ‘s/salut/hello/g’ fic ça marche mieux avec -i au lieu de -e …  
pour mysql, tu as essayé sans point virgule aprés $var pour voir l’erreur que ça donne ?

---

<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, 5:29 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109/6 "2016-02-20T17:29:51Z")

</div>

[quote=“usinagaz”]bonsoir  
tu as résolu ton problème ?  
parce que sed -e ‘s/salut/hello/g’ fic ça marche mieux avec -i au lieu de -e …  
pour mysql, tu as essayé sans point virgule aprés $var pour voir l’erreur que ça donne ?[/quote]  
Dépend de ce que tu veut faire mais e il vaut mieux le mettre quand tu passe la commandes en arguments.

---

<div class="post-metadata">

**Author:** ![usinagaz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/u/ecae2f/32.png) [@usinagaz](https://www.debian-fr.org/u/usinagaz)\
**Post date:** [Février 20, 2016, 5:29 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109/7 "2016-02-20T17:29:51Z")

</div>

heu non, il est dit “ouvrir un fichier en écriture”, ça veut pas dire 'éditer et récupérer le flux pour le filtrer" … mouarfff. Tu es tout escusé.

---

<div class="post-metadata">

**Author:** ![Ludo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ludo/32/3426_2.png) [@Ludo](https://www.debian-fr.org/u/Ludo)\
**Post date:** [Février 20, 2016, 5:29 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-depuis-un-script-bash/13109/8 "2016-02-20T17:29:52Z")

</div>

Moi je met les 2:

```auto
sed -e 's/Salut/Hello/g' -i /path/mon/fichier.txt
```
