[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