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

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

Re: Final de arquivo linux


From: Leogildo
Subject: Re: Final de arquivo linux
Date: Thu, 29 Sep 2005 19:08:44 -0000
User-agent: eGroups-EW/0.82

Ae Carlos,

Existem várias soluções que podem ser aplicadas ao seu caso.

Soluções comerciais não são viáveis para pequenos projetos, devido ao
elevado custo.

Tomando como base o modêlo sugerido (executa uma ação caso exista
arquivos em um determinado diretório), escrevi alguns exemplos que 
podem ser aplicados na resolução do seu problema.

1) Para arquivos com TRAILLER padrão, considerando que nas duas
primeiras posições do último registro contenha o valor "99", você
poderia utilizar algo como:

#------------------------------------------------------------
while true
do
....if [ -f nome_do_arquivo ]
....then
........if [ $(tail -1 nome_do_arquivo | cut -c1-2) = "99" ]
........then
............mv nome_do_arquivo /novo_diretorio
............break
........fi
....fi
....sleep 10
done
#------------------------------------------------------------


2) Para arquivos compactados com "zip" ou similar, você poderia
utilizar algo como:

#------------------------------------------------------------
while true
do
....if [ -f nome_do_arquivo ]
....then
........unzip -t nome_do_arquivo >/dev/null 2>&1
........if [ ${?} -eq 0 ]
........then
............mv nome_do_arquivo /novo_diretorio
............break
........fi
....fi
....sleep 10
done
#------------------------------------------------------------


2) Para arquivos genéricos, você poderia utilizar algo como:

#------------------------------------------------------------
while true
do
....if [ -f nome_do_arquivo ]
....then
........TBANT=`ls -l nome_do_arquivo | awk '{print $5}'`
........sleep 15
........TBATU=`ls -l nome_do_arquivo | awk '{print $5}'`
........while [ ${TBANT} != ${TBATU} ]
........do
............TBANT=${TBATU}
............sleep 15
............TBATU=`ls -l ${1} | awk '{print $5}'`
........done
........mv nome_do_arquivo /novo_diretorio
........break
....fi
....sleep 10
done
#------------------------------------------------------------

Obs.: no último exemplo, não tem gomo garantir que o arquivo foi
gravado integralmente.


T+


--- Em address@hidden, "carloshessbr" 
<carloshessbr@y...> escreveu
> Boa Tarde,
> 
> Gostaria de saber se existe alguma maneira de descubrir se o arquivo
> já foi totalmente descaregado(finalizado) antes de efetuar algum
> comando nele tipo uma impressão, pois fiz um script que lê um
> diretório e quando cair algum arquivo nele ele automaticamente 
imprime
> e apaga o arquivo.
> 
> Meu medo é que ele imprime o arquivo incompleto.
> 
> Obrigado,




reply via email to

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