# Lister noms des fichiers d'un dossier sans extensions ?

**URL:** <https://www.debian-fr.org/t/lister-noms-des-fichiers-dun-dossier-sans-extensions/58439>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 5:45 UTC](https://www.debian-fr.org/t/lister-noms-des-fichiers-dun-dossier-sans-extensions/58439 "2016-02-21T17:45:38Z")\
**Posts on this page:** 6\
**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, 5:45 UTC](https://www.debian-fr.org/t/lister-noms-des-fichiers-dun-dossier-sans-extensions/58439/1 "2016-02-21T17:45:38Z")

</div>

Bonjour,

j’ai un dossier a qui contient 3 fichiers : ciel.jpg, soleil.jpg, et nuage.jpg.

Et on se place dans le dossier a (commande cd a).

Maintenant, je cherche la commande qui permet de lister les 3 fichiers du dossier courant en affichant juste le nom des fichiers sans les extensions (et donc pas le chemin des dossiers).

C’est à dire que la sortie doit être :

```auto
ciel
soleil
nuage
```

Et non pas

```auto
./ciel
./soleil
./nuage
```

Pour l’instant, je n’ai que ça (mais je n’ai pas réussi à enlever les extensions) :

```auto
find ./* -type f -exec basename {} \;
```

Une idée ?

Merci d’avance, cordialement.

---

<div class="post-metadata">

**Author:** ![flavien](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/f475e1/32.png) [@flavien](https://www.debian-fr.org/u/flavien)\
**Post date:** [Février 21, 2016, 5:45 UTC](https://www.debian-fr.org/t/lister-noms-des-fichiers-dun-dossier-sans-extensions/58439/2 "2016-02-21T17:45:45Z")

</div>

Salut,

version classique en ls

```auto

```

Si jamais tu as des extensions avec des chiffres

```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, 5:45 UTC](https://www.debian-fr.org/t/lister-noms-des-fichiers-dun-dossier-sans-extensions/58439/3 "2016-02-21T17:45:54Z")

</div>

Merci pour ta réponse.

Ta commande marche, mais j’aimerais en plus faire un traitement sur les noms trouvés. Par exemple concaténer chaque nom de fichier avec un mot + le nom de fichier (par exemple hello), ainsi à la sortie on a :

```auto
cielhellociel
soleilhellosoeil
nuagehellonuage
```

Une idée ?

Merci d’avance, cordialement.

---

<div class="post-metadata">

**Author:** ![lroy](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@lroy](https://www.debian-fr.org/u/lroy)\
**Post date:** [Février 21, 2016, 5:45 UTC](https://www.debian-fr.org/t/lister-noms-des-fichiers-dun-dossier-sans-extensions/58439/4 "2016-02-21T17:45:54Z")

</div>

Voici la boucle que j’utilise dans mes scripts :

```auto
for i in "$@"; do
  BN=$(basename "${i%.*}")
  ...
done
```

$BN contient le nom de fichier sans extension (même pour les cas tordus comme toto.titi.ext)

---

<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, 5:45 UTC](https://www.debian-fr.org/t/lister-noms-des-fichiers-dun-dossier-sans-extensions/58439/5 "2016-02-21T17:45:59Z")

</div>

Merci beacoup, ça marche.

---

<div class="post-metadata">

**Author:** ![Totor](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/58f4c7/32.png) [@Totor](https://www.debian-fr.org/u/Totor)\
**Post date:** [Février 21, 2016, 5:50 UTC](https://www.debian-fr.org/t/lister-noms-des-fichiers-dun-dossier-sans-extensions/58439/6 "2016-02-21T17:50:19Z")

</div>

je propose ceci :

```auto
fichiers=( * )
printf "%s\n" "${fichiers[@]%.*}"
```
