Lister noms des fichiers d'un dossier sans extensions ?

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 :

ciel
soleil
nuage

Et non pas

./ciel
./soleil
./nuage

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

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

Une idée ?

Merci d’avance, cordialement.

Salut,

version classique en ls

Si jamais tu as des extensions avec des chiffres

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 :

cielhellociel
soleilhellosoeil
nuagehellonuage

Une idée ?

Merci d’avance, cordialement.

Voici la boucle que j’utilise dans mes scripts :

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)

Merci beacoup, ça marche.

je propose ceci :

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