shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Otimização de script


From: Eliphas Levy Theodoro
Subject: Re: [shell-script] Otimização de script
Date: Wed, 2 Jan 2002 13:58:19 -0200 (BRST)

Julio Cezar Neves - DISB.O, @ 28/12/01 - 17:57:

> Eliphas e Cassiano,
> até hoje não consegui entender nem o -prune nem o -depth do find. veja só
> estes testes:
>
> $ pwd
> /home/julio
> $ find . -name mmap\* -prune -print
> ./c/mmap.c
> ./c/mmap
> ./c/mmapt.c
> ./c/mmap.read.c
> $ find . -name mmap\* -depth -print
> ./c/mmap.c
> ./c/mmap
> ./c/mmapt.c
> ./c/mmap.read.c
> $ find . -name mmap\* -depth 1 -print
> find: bad option 1
>
> Isto é contrário ao q está escrito e descrito no man o -prune avança pelos
> subdiretórios e se vc explicitar a profundidade do mergulho do -depth vc
> ganha um erro. ??????
>
> Estes testes foram feitos no SVR4 do Unix. Favor quem souber me explique.

Ae Julio!

Complementando a mensagem do Cassiano, que você já deve ter visto:

As opções -depth e -prune são daquelas 'always TRUE', o que significa
que não têm parâmetros, ou é ou não é. Não há como passar a profundidade
por essas opções...

Pena que só o GNU find tem a opção -maxdepth N, que seria o que a gente
quer... Mas só emulando com o grep no digital/hp.

Eu acabei fazendo o meu find -maxdepth mesmo... sempre usei como
primeiro parâmetro pro find um diretório, preferi continuar com o
hábito.

#f_find(dir dir, int depth, args opts)
f_find()
{
    local DIR DEPTH OPTS
    DIR=$1 ; DEPTH=$2 ; shift ; shift
    find "$DIR" $* | grep -Ev "$DIR/([^/]*/){$DEPTH}"
}

-- 
Eliphas

Anyone sending unsolicited bulk email (UBE, SPAM) to this address will
be charged a $25 handling fee plus a $5 network traffic fee per
started kilobyte. By extracting my address from this message or its
header, you agree to these terms.
Nevertheless, spammers trying to auto-extract addresses from this
message will definitely want to include address@hidden, address@hidden,
and address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]