# \[RESOLU\]Script Shell pour parser un fichier txt

**URL:** <https://www.debian-fr.org/t/resolu-script-shell-pour-parser-un-fichier-txt/15702>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 6:12 UTC](https://www.debian-fr.org/t/resolu-script-shell-pour-parser-un-fichier-txt/15702 "2016-02-20T18:12:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![pcsystemd](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pcsystemd/32/5182_2.png) [@pcsystemd](https://www.debian-fr.org/u/pcsystemd)\
**Post date:** [Février 20, 2016, 6:12 UTC](https://www.debian-fr.org/t/resolu-script-shell-pour-parser-un-fichier-txt/15702/1 "2016-02-20T18:12:51Z")

</div>

Bonjour,

voila j’ai un fichier txt de ce style :

toto\_tu|986541|2008-09-15|10101  
liste\_tu|8954|2008-09-15|19021  
tat\_te|liste\_ta|81062|2008-09-15  
toto\_tu|4926458|2008-09-15|3604  
news\_autre|133346389|2008-09-15|Les articles  
|tata\_te|3440070|2008-09-15

les champs sont sépares par des | et représentent :

vide ou plein |nom |numero news|date |autre  
|toto\_tu|986541 |2008-09-15|10101

et je souhaiterais pouvoir avec un script shell le parser de manière a ressortir un fichier du style :

nombre de “numero news” par “nom” et par “date” =  
nombre de “nom” par “date” =

Avez vous une idée?

Merci beaucoup

---

<div class="post-metadata">

**Author:** ![Desintegr](https://www.debian-fr.org/user_avatar/www.debian-fr.org/desintegr/32/3771_2.png) [@Desintegr](https://www.debian-fr.org/u/Desintegr)\
**Post date:** [Février 20, 2016, 6:14 UTC](https://www.debian-fr.org/t/resolu-script-shell-pour-parser-un-fichier-txt/15702/2 "2016-02-20T18:14:22Z")

</div>

Cela se fait très facilement avec un langage un peu évolué (Perl, Python ou Ruby) au lieu d’un script en pur shell.

Il suffit d’utiliser un parser de fichier CSV et de le configurer pour utiliser | comme séparateur de champs.

---

<div class="post-metadata">

**Author:** ![Shenga](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/47e85d/32.png) [@Shenga](https://www.debian-fr.org/u/Shenga)\
**Post date:** [Février 20, 2016, 6:14 UTC](https://www.debian-fr.org/t/resolu-script-shell-pour-parser-un-fichier-txt/15702/3 "2016-02-20T18:14:23Z")

</div>

Si tu veux utiliser un script Shell, tu peux utiliser cut/head/tail pour couper le fichier en colonnes et lignes.

---

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Février 20, 2016, 6:14 UTC](https://www.debian-fr.org/t/resolu-script-shell-pour-parser-un-fichier-txt/15702/4 "2016-02-20T18:14:27Z")

</div>

awk me parait bien pour ca. [shellunix.com/awk.html](http://www.shellunix.com/awk.html)

---

<div class="post-metadata">

**Author:** ![pcsystemd](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pcsystemd/32/5182_2.png) [@pcsystemd](https://www.debian-fr.org/u/pcsystemd)\
**Post date:** [Février 20, 2016, 6:18 UTC](https://www.debian-fr.org/t/resolu-script-shell-pour-parser-un-fichier-txt/15702/5 "2016-02-20T18:18:34Z")

</div>

Merci a tous , j’ai resolu mon souci avec AWK.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 6:18 UTC](https://www.debian-fr.org/t/resolu-script-shell-pour-parser-un-fichier-txt/15702/6 "2016-02-20T18:18:42Z")

</div>

Ce fil aurait dû être placé ds "programmation"  
Je déplace.
