# Probléme avec ls

**URL:** <https://www.debian-fr.org/t/probleme-avec-ls/19341>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 7:21 UTC](https://www.debian-fr.org/t/probleme-avec-ls/19341 "2016-02-20T19:21:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jerem3000](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/j/ea666f/32.png) [@jerem3000](https://www.debian-fr.org/u/jerem3000)\
**Post date:** [Février 20, 2016, 7:21 UTC](https://www.debian-fr.org/t/probleme-avec-ls/19341/1 "2016-02-20T19:21:27Z")

</div>

Bonjour,

je crée un petit site en PHP qui pour automatiser certaine fonction que je fait souvent a la main sur mon serveur dédier. (PHP se connecte en ssh au serveur dédier)

cependant j’ai un problème.  
j’ai un dossier nommée "maps"  
et dans ce dossier chaque fichier est en 3 exemplaire avec des extension différente.

Exemple :

fichier1.txt  
fichier1.bsp  
fichier1.nav  
fichier2.txt  
fichier2.bsp  
fichier2.nav  
…

Il me faudrait que dans le fichier de sortit il y est que:  
fichier1  
fichier2

donc j’ai chercher des fonction permettant de ne mettre par exemple que les fichier texte mais quand je fait par exemple :

ls home/\*.txt \> test.txt

il marque pour chaque fichier le lien vers le fichier

/home/blabla.txt

et je n’est pas trouver quelque chose pour ne pas afficher les extension.  
J’ai chercher a faire avec shell mais je n’est que de tres petite connaissance dans ce langage donc je n’est pas réussi.

En espérant que quelqu’un puisse m’aider1.

Jerem3000

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 7:21 UTC](https://www.debian-fr.org/t/probleme-avec-ls/19341/2 "2016-02-20T19:21:27Z")

</div>

```auto

```

---

<div class="post-metadata">

**Author:** ![jerem3000](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/j/ea666f/32.png) [@jerem3000](https://www.debian-fr.org/u/jerem3000)\
**Post date:** [Février 20, 2016, 7:21 UTC](https://www.debian-fr.org/t/probleme-avec-ls/19341/3 "2016-02-20T19:21:28Z")

</div>

alors la vraiment merci!

cela fonctionne parfaitement, mais je ne comprend rien a comment vous avez fait cela.

pouvez vous m’expliquer cela méritera de redemander ou m’indiquer un site ou je pourait apprendre a faire des choses comme cela?

en tous cas merci

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 7:21 UTC](https://www.debian-fr.org/t/probleme-avec-ls/19341/4 "2016-02-20T19:21:29Z")

</div>

> [@](#):
>
> ls home/_.txt | sed -e '1,$s|[color=#0040FF]^._/[/color]([^/]\*).txt|\1|’

Alors appel de sed avec  
en rouge, changer pour toutes les lignes  
Entre les deux premiers || le motif composé de  
^.\*/ = du début de la ligne à un caractère «/»  
En vert, mis entre ( et ) ce qui deviendra \1 (équivalent du variable,c’est une chaine de caractère ne contenant pas de «/»  
En bleu enfin un point (.) et la chaine «txt». On pourrait même dire que c’est la fin de la ligne avec un «$» juste à la fin de txt.  
Une chaine comme  
/home/tagada/pouet/larirette/toto.txt est découpée en  
/home/tagada/pouet/larirette/toto.txt  
et \1 vaut ce qui est en vert soit toto  
Entre les deux «|» suivants, ce qui devient la ligne soit ici \1 seul, donc dans notre exemple toto.
