Quoting Sébastien BRUCHET (sbruchet@???):
> Tout d'abord je tient à vous remercier pour les nombreuses
> réponses.
> Voici ce que j'ai retenu :
> ls|wc -w ou ls -1|wc -l pour compter le nombre de
> fichier dans un répertoire
Ceci listera aussi tous les répertoires dans le répertoire courant ; si
on veut seulement les fichiers du répertoire courant :
find . \( ! -name . -type d -prune \) -o \( -type f -print \)
L'expression à gauche de -o élague les sous-réertoires ; celle de droite
fait l'impression de ce qui ne satisfait pas celle de gauche ; -o et -a sont
semblables à || et && en C : dès que le résultat final est connu, le reste
de l'expression est court-circuité.
> Parcontre pour acceder au 3 fichiers par ordre
> alphanumérique d'un répertoire j'ai été obligé de faire une
> boucle...
> explication :
> Voici le résultats d'un ls
> 1.fichier
> 2.fichier
> 3.fichier
> 4.fichier
>
> Je voulais avoir comme retour le nom du 3eme fichier cad
> 3.fichier donc
> FILES=`ls -1`
> J=1
> for N in $FILES
> do
> if test $J -eq 3
> then
> nm=$N
> fi
> J=`expr $J + 1`
> done
> echo $nm
>
> Je n'ai pas trouver de solution plus simple
> Une instruction proposé fut
> ls |cut -f 3
> Mais cela ne marchait pas mais si on faissait un ls -C
> comme proposé dans un autre mail qui prevennait d'ailleurs
> des résultats que j'obtenu.
> Je sais il doit yavoir des moyens d'optimiser mais enfin
> bon!!!
Si ls -C ne présente pas les informations dans le format souhaité, il ne
faut pas l'utiliser. Pour revenir au problème de comptage, si chaque ligne
contient un seul fichier :
ls | head -3 | tail -1
ls | awk 'NR==3 {print $0}'