Bonjour,

Je cherche dans un répertoire à renvoyer le nom du fichier qui arrive en dernier (dans l'ordre alphabétique).

Soit 2 fichiers a.out et b.out dans le répertoire /rep


La commande

ls /rep/?.out | sort -r | head -n1

me renvoie bien le fichier b.out


là où j'ai un problème c'est quand je le fais dans un script shell recuperer_nom_fichier_recent.sh

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#!/bin/sh
# $1 : Répertoire
# $2 : Nom fichier wildcard
 
if ls $1/$2 1> /dev/null 2>&1; then
    ls $1/$2 | sort -r | head -n1
else
    printf "\x00"
fi
si je fais ./recuperer_nom_fichier_recent.sh /rep ?.out


Le résultat est a.out

Je ne comprends pas du tout quel est le problème

Merci