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

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

Re: [shell-script] find com prune


From: Moacir Souza
Subject: Re: [shell-script] find com prune
Date: Fri, 3 Feb 2012 00:37:19 +0000

     E ainda mais,

     Não só os fontes estão disponíveis como a própria IBM também
fornece alguns pacotes já prontos para instalações rápidas (RPM's
nesse caso). Eu sou administrador Unix e evito usar esses pacotes
tanto quanto posso, até porque, é muito difícil não existir outra
maneira de fazer o mesmo que as ferramentas GNU fazem com seus
facilitadores (como o -i do sed, que não existe no sed "puro" do AIX
mas pode ser resolvido usando o esquema do arquivo temporário). Mas
não me oponho à instalação deles quando é realmente necessário.
     Até agora você não respondeu se apenas usar o find interessa ou
se quaisquer outras das soluções apresentadas que não usam ele já
resolveriam seu problema. Faça o teste por aí com as dicas dadas por
mim, Rodrigo, Fernando e Julio, mas se realmente nada solucionar,
baixe o RPM do find e peça para seu administrador instalar o pacote. O
link é esse: 
http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html

Abraços,
Moacir Filho

2012/2/2 Julio C. Neves <address@hidden>
>
> Peraí, deixa fazer umas colocações:
>
>   - O ksh não é fraquinho não. É muito bom, demais, a beça... ;) O
>   problema do ksh e dos UNIXES, é que a evolução é muito lenta;
>   - O que vc queria dizer, é que o find (não GNU) é fraquinho, mas tb não
>   é. Eu respondi à sua questão, pq achei que resolveria o seu problema mas
>   tem uns 6 anos que só uso Linux e GNU find. Com certeza tem alguma forma do
>   seu find fazer isso, mas não tenho mais máquina para testar.
>
> Por outro lado, o bash e todo o ambiente GNU têm os fontes disponíveis, é
> só pedir ao seu admin para instalá-los.
>
> Abcs,
> Julio
> *Já foi lançado "Bombando o
> Shell<http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666>
> ". *
> *Show **de interfaces gráficas sob Shell!*
> *
> *
>
>
>
> Em 2 de fevereiro de 2012 16:40, Emerson Domingues Souto - H2M <
> address@hidden> escreveu:
>
> > **
> >
> >
> > O ksh parece ser muito fraquinho mesmo ..... nem o -path ele tá aceitando:
> >
> > $ find . -type d -path ./dir -prune -o -print
> > find: 0652-017 -path is not a valid option.
> > $
> > $ uname -a
> > AIX VAWS01 3 4 000301544C00
> >
> > Tem alguma outra forma ?
> >
> > Emerson Domingues Souto
> > Tecnologia da Informação
> > Marítima Seguros S/A
> > Fone: 11 3156-1017
> >
> >
> >
> > > -----Mensagem original-----
> > > De: address@hidden
> > > [mailto:address@hidden] Em nome de Julio C. Neves
> > > Enviada em: quinta-feira, 2 de fevereiro de 2012 16:31
> > > Para: address@hidden
> > > Assunto: Re: [shell-script] find com prune
> > >
> > > Emerson, meus pêsames. Essa sintaxe do ksh é muito ruim e já
> > > fui vítima dela muitas vezes (a do sort do UNIX ainda é pior).
> > >
> > > O -prune deve ser usado com o -path e com a opção -o (ou) para negar.
> > >
> > > A brincadeira é assim: vc especifica com -path os diretórios
> > > que vc quer listar e o -prune não permite a invasão desses
> > > diretórios. Veja:
> > >
> > > $ find . -path ./dir\* -prune -print
> > > ./dir1
> > > ./dir
> > >
> > > Mas veja tb:
> > >
> > > $ find . -type d -print
> > > .
> > > ./dir1
> > > ./dir
> > >
> > > Quase a mesma coisa, não é?
> > >
> > > Mas vc deve ter reparado que sob o diretório corrente, eu
> > > tenho somente 2
> > > diretórios: dir e dir1. Se usar a opção -o (ou) para negar (seria um
> > > "senão") esses diretórios, aí eu estaria listando tudo que
> > > não fossem eles.
> > > Assim:
> > >
> > > $ find . -type d -path ./dir -prune -o -print
> > >
> > > Nesse caso, listaria todos os arquivos do meu diretório corrente.
> > >
> > > A única vantagem desse tipo de construção sobre o -maxdepth é
> > > que dessa forma eu posso selecionar quais diretórios eu
> > > pretendo listar, independente de seus níveis e o -maxdepth só
> > > me permite especificar a profundidade que o find mergulhará,
> > > independente de seus diretórios.
> > >
> > > Abcs,
> > > Julio
> > > *Já foi lançado "Bombando o
> > > Shell<http://www.brasport.com.br/index.php?dispatch=products.v
> > > iew&product_id=666>
> > > ". *
> > > *Show **de interfaces gráficas sob Shell!*
> > > *
> > > *
> > >
> > >
> > >
> > > Em 1 de fevereiro de 2012 15:30, Emerson Domingues Souto -
> > > H2M < address@hidden> escreveu:
> > >
> > > > **
> > > >
> > > >
> > > > Estive lendo o manual e entendi que o -prune faz com que o
> > > find liste
> > > > os arquivos do diretório corrente, sem se aprofundar nos
> > > subdiretórios
> > > > (o contrário do -depth)
> > > >
> > > > O problema é que estou usando -prune e o find está listando
> > > apenas o
> > > > diretório corrente e não está listando os arquivos.
> > > >
> > > > O que eu preciso é que o find liste apenas os arquivos do diretório
> > > > corrente, ou seja, no meu exemplo é para ele listar apenas
> > > os arquivos
> > > > arq1.txt e arq2.txt
> > > >
> > > > Alguém pode me ajudar ?
> > > >
> > > > Segue exemplo de comando find com -prune que eu executei e não me
> > > > trouxe o resultado desejado:
> > > >
> > > > # pwd
> > > >
> > > > /tmp/TESTE
> > > >
> > > > # ls -l
> > > >
> > > > total 32
> > > >
> > > > -rw-r--r-- 1 sqlsp informix 71 Feb 01 14:45 arq1.txt
> > > >
> > > > -rw-r--r-- 1 sqlsp informix 134 Feb 01 14:45 arq2.txt
> > > >
> > > > drwxr-xr-x 2 sqlsp informix 512 Feb 01 14:46 dir1
> > > >
> > > > drwxr-xr-x 2 sqlsp informix 512 Feb 01 14:46 dir2
> > > >
> > > > # find .
> > > >
> > > > .
> > > >
> > > > ./arq1.txt
> > > >
> > > > ./arq2.txt
> > > >
> > > > ./dir1
> > > >
> > > > ./dir1/arq3.txt
> > > >
> > > > ./dir1/arq4.txt
> > > >
> > > > ./dir2
> > > >
> > > > ./dir2/dir5.txt
> > > >
> > > > # find . -prune
> > > >
> > > > .
> > > >
> > > > # uname -a
> > > >
> > > > AIX VAWS01 3 4 000301544C00
> > > >
> > > > Emerson Domingues Souto
> > > >
> > > > Tecnologia da Informação
> > > >
> > > > Marítima Seguros S/A
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > ----------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de
> > > programação, como perl, C etc. Quem insistir em não seguir
> > > esta regra será moderado sem prévio aviso.
> > > ----------------------------------------------------------
> > > Sair da lista: address@hidden
> > > ----------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>



--
==========================================
Moacir da Cruz Souza Filho

Analista de Sistemas: Suporte Unix Avançado
Mestrando em Ciências da Computação
Bacharel em Engenharia da Computação
Técnico em Eletrônica
Linux user #449600
==========================================


reply via email to

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