Le 18 Nov, Frederic Mantegazza à écrit :
> ---Reply to mail from <Sébastien BRUCHET>
>
>> 1 comment on récupère le nombre de fichier d'un type
>> donnée d'un répertoire
>
> Je ne sais pas s'il y a une commande speciale, sinon il suffit de compter.
>
> #!/bin/sh
>
> files=`ls`
> i=0
> for f in $files
> do
> i=i+1 (la je ne suis pas sur)
> done
> echo $i
>
voici beaucoup plus court (le $ représente le prompt du shell) :
$ ls | wc -w
Et si tu ne veux voir que les fichier ou que les dossiers,
il faut utiliser find au lieu de ls (man find pour les options).
>> 2 comment on accède au 3ème fichiers par exemple d'un
>> répertoire d'un type donnée
>
> Idem ci-dessus, en faisant une boucle 'while' jusqu'a 3
>
Le question n'est pas très claire. Je pense que tu veux dire
le 3ieme par ordre alphabétique non? Alors il faut faire comme
cela (fait un man cut pour en savoir plus) :
$ ls | cut -f 3
>> 3 Comment on fait les modulos en script
>
> Le %, je crois.
>
>> 4 Pareil que 1 et 2 mais avec récursivité accès aux
>> fichiers dans les sousrépertoire
>
> Il y a des fonctions super pratiques : pushd et popd.
> pushd <rep> sauve le repertoire en cours et descend dans le reperoire
> <rep>. popd fait l'inverse.
>
> Pour trouver les repertoires, fait comme dans 1 (for f in $files), et
> tu ajoutes un test dessous :
>
> if [ -d $f ] sera vrai si $f est un repertoire.
> do
> ....
> done
>
Hum, en plus simple, je pense que le 'find' ferra très bien l'affaire
(man find) :
$ find lerépertoire
parcours tous les sous répertoires récusivement. Tu peux même demander
à ne voir que les fichiers :
$ find lerépertoir -type f
Et même que les fichier .c
$ find lerépertoire -type f -name "*.c"
Les guillements sont là pour empêcher le shell d'interpréter le motif.
Cordialement
Nicolas
--
*******************************************************************
* Nicolas MOITRIER email: Nicolas.Moitrier@??? *
* Ingénieur système Tél : 0476634859 - FAX : 0476634850 *
* Verimag - Grenoble WWW : http://www-verimag.imag.fr/ *
*******************************************************************