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: Rodrigo Boechat
Subject: Re: [shell-script] find com prune
Date: Thu, 02 Feb 2012 17:39:03 -0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111224 Thunderbird/9.0.1

Eu mesmo não sei. Dei a ideia de usar o bash pelo que o Julio escreveu...
Bom. Em todo caso.
Teste essa linha e mande o resultado:
ls -l | sed -n "s/^[rwx-]\{10\}  [0-9] [a-zA-Z]* [a-z]* *[0-9]* 
[a-zA-Z]\{3\} [0-9: ]\{8\} \(.*\)/\1/p"

Aqui o resultado foi a listagem dos nomes de arquivos contidos no 
diretório atual.

Espero ter ajudado.
:)

Em 02-02-2012 17:27, Joao Lopes escreveu:
> o -path é um argumento do comando find
> nada haver com o ksh
>
>
> 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]



reply via email to

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