RE: Shell Script > 2 ou 3 questions

Startseite

Nachricht beantworten
Autor: FERIGO, Sylvain
Datum:  
To: 'guilde@imag.fr'
Betreff: RE: Shell Script > 2 ou 3 questions

La commande suivante devrait te convenir:

file ton-repertoire/* | grep <pattern> | wc | awk '{ print $1 ;}'

... ou pattern est a trouver dans le fichier /usr.../magic, je me rappelle
plus
exactement sa localisation (ca depend des distribs, non ?)

Et puis normalement, le premier nombre retourné par "wc" est le nbre de
lignes,
mais c'est à verifier, sinon il faut prendre le $2 ou le $3 dans le "awk"


-------------------------------------------------
Sylvain Ferigo [mailto:ferigo@club-internet.fr]
Teamlog Ecully (69), France / CRIT RPoulenc
Phone: +33 472 002 092 / Mobile: +33 610 511 926


> -----Message d'origine-----
> De: Olivier Delemar [mailto:delemar@mimosa.ceng.cea.fr]
> Date: jeudi 18 novembre 1999 09:16
> À: guilde@???
> Objet: 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

>