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

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

Re: [shell-script] Find


From: Julio Neves
Subject: Re: [shell-script] Find
Date: Wed, 10 Oct 2001 10:39:45 -0300

Olá José Augusto,
gostaria de agradecer-lhe pela execução dos teste que solicitei (fui eu 
quem deu os pitacos e não o Leonardo) e dizer-lhe que resposta mais 
detalhada e precisa é impossível. São msgs como esta que elevam o nível da 
lista. Dizer "Faça man find" é uma resposta fácil e não ajuda em nada, 
todos que estão na lista conhecem o man e, se apelam à lista, é por 
dificuldade em um assunto específico que não conseguiram resolver com a 
leitura do man.

Veja só! Desenvolvo em Shell desde o tempo que o "Mar Morto" ainda era um 
"Mar Doente" e até hoje não tinha tirado estas dúvidas a limpo. Este S.O. 
é muito vasto e completo mesmo...

[ ]s,
Julio



Favor responder a address@hidden
Para:   address@hidden
cc: 
Assunto:        Re: [shell-script] Find


Leonardo.

     Obrigado pelo elogio e quanto ao segundo comentário você está certo.
Deve-se usar a opção "-o" significando "OU" no lugar de "-a" (E).

     Também obrigado por relatar o uso do + e do - antes da quantidade de
dias, eu me esqueci desse ponto pois estava dando um curso de Java e não
tinha um servidor UNIX a mão para verificar o man (salvador da pátria
sempre nesses casos).

     Agora em relação a sua dúvida se o -7 representa a 7 dias inclusive 
ou
exclusive aqui vai um comentário.
O UNIX nunca guarda a data por extenso no inode, guardando como atributo
das datas de modificação, criação do inode e acesso um valor no formato de
segundos. Explicando melhor. ele guarda a quantidade de segundos desde
primeiro de janeiro de 1970 as zero horas (01/01/70 00:00).

     Portanto quando você coloca -7 no comando find ele transforma esse 7
em quantidade de segundos (7 * 24 * 60 * 60) e procura arquivos cujo
atributo pedido (-atime, -ctime ou -mtime) possua um valor maior que a 
data
atual, também transformada em segundos menos o valor calculado.

     Explicando melhor.
Imagine esse dois arquivos, estando servidor com a seguinte data  "Wed Oct
10 09:29:04 SAT 2001"

arquivos t1 e t2
-rw-------   1 b234777  treina        22 Oct  3 09:27 t1
-rw-------   1 b234777  treina        31 Oct  3 09:30 t2

O comando "find t* -mtime -7" irá listar somente o arquivo t2 pois ele foi
modificado a menos de 604800 (7 * 24 * 60 * 60) segundos. (Veja que os 
dois
arquivos foram modificados no dia 3/10 e o servidor está no dia 10/10, e
para o arquivo t1 a opção -7 foi exclusive e para o arquivo t2 a opção -7
foi inclusive, pois não leva em consideração o dia e sim a quantidade de
segundos)

     Espero que com isso tenha tirado a sua dúvida.

[ ]'s a todos da lista.

José Augusto Martins Nieviadonski
HSBC Bank Brasil S.A.
Treinamento de Informática



 
 
 
 
 
 
 


 Enviado Por : "Julio Neves" <address@hidden> - 09/10/01
 15:44
        Responder a shell-script

 Para:  address@hidden
 cc:    (cco: Jose NIEVIADONSKI/HBBR/HSBC)
 Assunto: Re: [shell-script] Find


Favor responder a address@hidden
Para:   address@hidden
cc:
Assunto:        Re: [shell-script] Find


Olá José Augusto,
acabei de responder ao Leonardo pq não havia visto a sua resposta. Mas foi
legal pq tenho 2 comentários a fazer.

>Leonardo

>     A opção -ctime indica "creation time", ou seja, a quantos dias o
inode
>do arquivo foi alterado. O termo "creation time" gera um pouco de dúvida,
>pois não se refere exatamente à data de criação do arquivo mas sim à data
>de alteração de algum atributo do seu inode. Comando como chmod, chown,
>chgrp alteram essa data pois alteram os atributos do inode.

Achei este parágrafo sensacional, já havia perdido muito tempo e não tinha
percebido esta jogada do inode que vc relatou. Grande sacada! Valeu!


>     Como você quer saber quais arquivos foram criados ou modificados nos
>últimos 7 dias, deve usar a opção -mtime junto com a opção -ctime. O
>comando abaixo deve funcionar.
>
>find <diretorio_pesquisa> -ctime 7 -a -mtime 7

Aqui eu tenho umas dúvidas, que relato por estar sem máquina para testar:
1 - Acho (tenho quase que certeza) que a opção -a significa "e" (and)
assim vc estaria procurando arquivos alterados "e" criados há 7 dias;
2 - Para arquivos alterados nos últimos 7 dias a sintaxe não seria -mtime
-7? Acho (tenho quase que certeza) que -7 significa há menos de 7 dias, 
não

sei se inclusive ou exclusive.

Como estou em uma máquina rwin, não posso fazer estes testes, mas gostaria
de um feed back, se possível. Me desculpe pelo pitaco, mas acho estes
pontos um pouco obscuros e gostaria de aprender um pouco mais.

[ ]s,
Julio










 Enviado Por : "Leonardo Serra Maciel de Campos" <address@hidden> -
 08/10/01 23:12
 Enviado Por:  address@hidden
        Responder a shell-script

 Para:  address@hidden
 cc:    (cco: Jose NIEVIADONSKI/HBBR/HSBC)
 Assunto: [shell-script] Find


Ola a todos
gostaria de saber qual é a opção certa para que com o find eu saiba quais
sao
os arquivos que foram criados ou modificados durante os ultimos 7 dias
to utilizando o seguinte:
# find /home -mtime 7
mas nao sei se é certo
pq tb nao sei a diferenca se ficar assim:
# find /home -ctime 7

t+
leoserra
-------------------------------
http://www.brfree.com.br - O primeiro provedor gratuito do Brasil

Sair da lista: address@hidden
Banco Dados:   http://www.egroups.com/group/shell-script

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html








This message and any attachments are confidential to the ordinary user of
the e-mail address to which it was addressed and may also be privileged.
If
you are not the adressee you may not copy, forward, disclose or use any
part of the message or its attachments and if you have received this
message in error, please notify the sender immediately by return e-mail
and
delete it from your system.
Internet communications cannot be guaranteed to be secure or error-free as
information could be intercepted, corrupted, lost, arrive late or contain
viruses. The sender therefore does not accept liability for any errors or
omissions in the context of this message which arise as a result of
Internet transmission.


Sair da lista: address@hidden
Banco Dados:   http://www.egroups.com/group/shell-script

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html







Sair da lista: address@hidden
Banco Dados:   http://www.egroups.com/group/shell-script

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html








This message and any attachments are confidential to the ordinary user of
the e-mail address to which it was addressed and may also be privileged. 
If
you are not the adressee you may not copy, forward, disclose or use any
part of the message or its attachments and if you have received this
message in error, please notify the sender immediately by return e-mail 
and
delete it from your system.
Internet communications cannot be guaranteed to be secure or error-free as
information could be intercepted, corrupted, lost, arrive late or contain
viruses. The sender therefore does not accept liability for any errors or
omissions in the context of this message which arise as a result of
Internet transmission.


Sair da lista: address@hidden
Banco Dados:   http://www.egroups.com/group/shell-script 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
http://br.yahoo.com/info/utos.html 








reply via email to

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