[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Répertoire vide



Je ne pouvais resister :

#!/bin/bash
[ -z "$1" -o \! -d "$1" ] &&
{ echo "Usage: repvide.sh nom-du-repertoire" >&2; exit 1; }
set -- "$1"/{.,}*; shift; shift; ! [ -f "$1" -o -d "$1" ]

En passant, on avait oublier les fichiers cachÃs...

;-)


On Tue, 2004-03-23 at 15:20, Richard Prescott wrote:
> DÃfi pour les intÃressÃs :  ma version du script n'est pas performante
> pour les rÃpertoires contenant plusieurs fichiers/repertoires (O(n)). 
> Est-ce quelqu'un aurait une solution qui limiterait la recherche au
> premier fichier/repertoire trouvà ?  (à vos clavier, prÃts? partez!)
> 
> Deux morceaux de robots supplÃmentaires s'il ne fait pas appel à un
> executable extÃrieurs. ;-)
> 
> On Tue, 2004-03-23 at 13:57, Marc St-Jacques wrote:
> > Le 23 Mar 2004 10:40:40 -0500
> > Richard Prescott <[email protected]> a Ãcrit:
> > 
> > > C'est plate de faire appel a un programme extÃrieur (find) mais c'est ce
> > > que j'ai trouvà de mieux.
> > 
> > En effet.  J'aurais cru que, puisque le nom du rÃpertoire Ãtait donnÃ
> > prÃalablement par l'utilisateur, un simple echappement comme suit
> > 
> >       repvide Untitled\ 1
> > 
> > aurait rÃglà cela, mais le traitement ultÃrieur par un for ne tient pas
> > compte de cela et prend tous les espaces pour des sÃprateurs.
> > find et autre outils utilisent la librairie <dirent.h> et Ãa rÃgle tous les cas.
> > 
> > Ce fut un bon exercice.  Ãa permet de voir et de revoir des principes
> > fondamentaux, n'est-ce pas ?
> > 
> > -- 
> > Marc St-Jacques
> > 
> > Linux from scratch. 
> > http://www.linuxfromscratch.org
> > Your distro. Your rules.
> > 
> > -----BEGIN GEEK CODE BLOCK-----
> > Version: 3.12
> > GCS !d s+:+ a+ C+++ UL++ P++ L+++
> > E--- W+ N+ w-- M- PS PE- Y+ PGP++
> > t+ X+ R tv b- DI D++ G e+++ h++ !r
> > !y+
> > ------END GEEK CODE BLOCK------
> > ----
> > 
> 
> > --
> > Liste de diffusion aide
> > http://linux-quebec.org/mailman/listinfo/aide
> 
> 
> 
> ----
> 

> --
> Liste de diffusion aide
> http://linux-quebec.org/mailman/listinfo/aide