Contas subdiretorios e arquivos

1. Contas subdiretorios e arquivos

Maria Luiza
marialuizam

(usa Outra)

Enviado em 18/01/2012 - 13:53h

Olá, tenho um script que faz o seguinte, ele conta os subdiretorios e os arquivos do diretorio e subdiretorio. Usei o find pra isso.

Olhe

------------------------------------------------------------------------------------
#!/bin/csh

# Maria Luiza Martins

# Conta a quantidade de arquivos e linhas em um diretorio



cd /home/maria/teste
# Mude para o diretorio a onde deseja rodar o script


set arquivos=`find | wc -l`



echo "VERIFIQUE. Numero de arquivos no diretorio é: $arquivos" > falta.txt


if ( $arquivos < 30 ) then # Mude a quantidade de acordo com a quantidade necessaria no diretorio.

mailx -s "Falta arquivos" maria.luiza@xxxxxxxxx < falta.txt
# Mude para o e-mail que deseja receber a # notificação

endif

------------------------------------------------------------------------------------------

O que acontece é o seguinte o find conta o diretorio que estou, e o script cria um arquivo txt pra enviar o corpo do email
e no caso o script teria que não contar esse arquivo.
Qual a solução?

att



  


2. Re: Contas subdiretorios e arquivos

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 18/01/2012 - 15:36h

O 'find | wc -l' irá contar tudo que está no seu diretório corrente, inclusive os subdiretórios tb.

Para vc excluir o seu próprio script na busca, faça:
'find | grep -v $0 | wc -l'

Se vc quiser contar somente arquivos use a opção '-type f', ou para diretórios '-type d'.

Caso você queira contar apenas o que está no diretório corrente, excluindo subdiretórios, use a opção '-maxdepth 1'






3. Re: Contas subdiretorios e arquivos

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 19/01/2012 - 11:27h


O que acontece é o seguinte o find conta o diretorio que estou, e o script cria um arquivo txt pra enviar o corpo do email
e no caso o script teria que não contar esse arquivo.
Qual a solução?



Coloque o arquivo txt gerado para o envio do email em um diretório que não faça parte do range da busca do find, por exemplo, pode por ele no /tmp

basta ajustar o script para pegar o txt de envio do email do /tmp




4. Re: Contas subdiretorios e arquivos

Maria Luiza
marialuizam

(usa Outra)

Enviado em 20/01/2012 - 08:47h

#!/bin/csh

# Maria Luiza Martins

# Conta a quantidade de arquivos e linhas e subdiretorios em um diretorio



cd /home/maria/teste_2
# Mude para o diretorio a onde deseja rodar o script


set arquivos=`find | wc -l`



echo "Numero de arquivos, diretorios, e subdiretorios é: $arquivos de 10 |==== VERIFIQUE ====|" > mailx.txt

mv mailx.txt /tmp ##############

if ( $arquivos < 10 ) then # Mudar a quantidade de acordo com a quantidade necessario no dir

mailx -s "Falta arquivos" maria.luiza@xxxxx < mailx.txt
# Mude para o e-mail que deseja receber a notificação

endif



então ficaria







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts