# Supprimer un chemin dans un fichier

**URL:** <https://www.debian-fr.org/t/supprimer-un-chemin-dans-un-fichier/72975>\
**Category:** Programmation\
**Created:** [Mars 16, 2017, 3:14 UTC](https://www.debian-fr.org/t/supprimer-un-chemin-dans-un-fichier/72975 "2017-03-16T15:14:26Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![baxterx](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@baxterx](https://www.debian-fr.org/u/baxterx)\
**Post date:** [Mars 16, 2017, 3:14 UTC](https://www.debian-fr.org/t/supprimer-un-chemin-dans-un-fichier/72975/1 "2017-03-16T15:14:26Z")

</div>

Bonjour,

J’ai un fichier contenant les lignes suivantes:  
850613|452357||850613|2015-12-23 14:21:22.808821|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|00/0C/FA/B5  
850614|452358||850614|2015-12-23 14:21:22.980394|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|00/0C/FA/B6  
850615|452359||850615|2015-12-23 14:21:23.209291|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|00/0C/FA/B7  
850616|452360||850616|2015-12-23 14:21:23.619025|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|00/0C/FA/B8

Je souhaite supprimer uniquement le chemin à la fin qui se trouve sous la forme "00/0C/FA/B8"  
J’ai essayé avec sed, grep -v et awk sans succès! Très probablement du aux différents caractères tel que le | ou le /.  
Sauriez vous comment faire?

Merci

---

<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:** [Mars 16, 2017, 4:16 UTC](https://www.debian-fr.org/t/supprimer-un-chemin-dans-un-fichier/72975/2 "2017-03-16T16:16:59Z")

</div>

Bonjour

```bash
michel@debg53sw:~$ cat monFichier
850613|452357||850613|2015-12-23 14:21:22.808821|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|00/0C/FA/B5
850614|452358||850614|2015-12-23 14:21:22.980394|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|00/0C/FA/B6
850615|452359||850615|2015-12-23 14:21:23.209291|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|00/0C/FA/B7
850616|452360||850616|2015-12-23 14:21:23.619025|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|00/0C/FA/B8
michel@debg53sw:~$ 

```

```bash
michel@debg53sw:~$ sed 's/\([[:xdigit:]]\{2\}\/\)\{3\}[[:xdigit:]]\{2\}$//' monFichier 
850613|452357||850613|2015-12-23 14:21:22.808821|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|
850614|452358||850614|2015-12-23 14:21:22.980394|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|
850615|452359||850615|2015-12-23 14:21:23.209291|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|
850616|452360||850616|2015-12-23 14:21:23.619025|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|
michel@debg53sw:~$ 

```

```bash
michel@debg53sw:~$ awk -F'|' '{OFS="|";$NF="";print}' monFichier 
850613|452357||850613|2015-12-23 14:21:22.808821|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|
850614|452358||850614|2015-12-23 14:21:22.980394|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|
850615|452359||850615|2015-12-23 14:21:23.209291|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|
850616|452360||850616|2015-12-23 14:21:23.619025|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32|
michel@debg53sw:~$ 

```

* * *

Il y a aussi la commande **cut** mais le dernier caractère “|” est perdu.

```bash
michel@debg53sw:~$ cut -d '|' -f1-9 monFichier 
850613|452357||850613|2015-12-23 14:21:22.808821|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32
850614|452358||850614|2015-12-23 14:21:22.980394|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32
850615|452359||850615|2015-12-23 14:21:23.209291|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32
850616|452360||850616|2015-12-23 14:21:23.619025|xxx@yyy.net|Client|relivraison cmde 13246800 IMPORTANT|201.32
michel@debg53sw:~$ 

```

---

<div class="post-metadata">

**Author:** ![baxterx](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@baxterx](https://www.debian-fr.org/u/baxterx)\
**Post date:** [Mars 16, 2017, 8:01 UTC](https://www.debian-fr.org/t/supprimer-un-chemin-dans-un-fichier/72975/3 "2017-03-16T20:01:49Z")

</div>

Merci! J’essaie ça dés demain et je te fais un retour.

---

<div class="post-metadata">

**Author:** ![baxterx](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@baxterx](https://www.debian-fr.org/u/baxterx)\
**Post date:** [Mars 17, 2017, 9:01 UTC](https://www.debian-fr.org/t/supprimer-un-chemin-dans-un-fichier/72975/4 "2017-03-17T09:01:28Z")

</div>

Ca marche, mais en fait c’est moi qui me suis planté dans ma demande.  
En réalité, il me faut supprimer la ligne entière si le chemin est contenu dans un fichier.  
J’ai un fichier WRONG.txt qui ne contient QUE les chemin à supprimer dans mon fichier monFichier.

Pour chaque chemin présent dans WRONG.txt, la ligne contenant ce chemin dans monFichier devra etre supprimée.

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Mars 17, 2017, 3:22 UTC](https://www.debian-fr.org/t/supprimer-un-chemin-dans-un-fichier/72975/5 "2017-03-17T15:22:55Z")

</div>

salut,  
donne un exemple avant/après pour ne pas faire perdre leur temps à ceux qui t’aident

---

<div class="post-metadata">

**Author:** ![baxterx](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@baxterx](https://www.debian-fr.org/u/baxterx)\
**Post date:** [Mars 17, 2017, 4:01 UTC](https://www.debian-fr.org/t/supprimer-un-chemin-dans-un-fichier/72975/6 "2017-03-17T16:01:55Z")

</div>

Pas la peine, je viens de trouver…  
grep -f WRONG.txt -v FILE.txt
