Re: Shell Script > 2 ou 3 questions

Startseite

Nachricht beantworten
Autor: Olivier Delemar
Datum:  
To: guilde
Betreff: Re: Shell Script > 2 ou 3 questions

Le 18-Nov-99, Frederic Mantegazza écrivait:
>> 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.


        Pas de commande spéciale à ma connaissance, mais des comandes adaptées,
oui. Par exemple :
find . -type <type> -print |wc -l
Attention : find descend dans les sous répertoires (mais on peut l'en empêcher,
cf. page man).


        Les types de fichiers connus par "find -type" étant peu nombreux, tu
peux aussi utiliser "file" dans une boucle.


>#!/bin/sh
>
> files=`ls`
> i=0
> for f in $files
> do
>     i=i+1   (la je ne suis pas sur)


        Pour les shells POSIX (bash, ksh par exemple), les opérations doivent
être entourées de $(( ... )). En cshell (csh, tcsh), la variable recueillant le
résultat doit être déclarée avec "@" au lieu de "set" :


set texte = "Ligne numéro "
@ compte = 1
while ($compte < 10)
echo $texte $compte
@ compte++
#Ou bien :
@ compte += 1
#Ou alors
@ compte = $compte + 1
end

        Quant au modulo, je crois effectivement qu'il faut l'opérateur "%",
mais avec les $((...)) ou le @ qui va bien.



                                O. Delemar, CS-SI. ATHESA
                CEA/CENG, Bat. T, 17 Av. des Martyrs, GRENOBLE
                                Tel. 04 76 88 50 16