Pesquisar arquivos Diretório

1. Pesquisar arquivos Diretório

Jardel Fischer
jardelfi

(usa Red Hat)

Enviado em 07/05/2010 - 15:16h

galera preciso criar um script para pegar o primeiro arquivo de um diretorio (OUTA5050362082_C_1.INT), pesquisar se existe um OUTA5050362082_I_1.INT, caso encontrar, faz um ftp, senao pega o proximo arquivo do diretorio (OUTA5050362082_C_2.INT)

Alguma ideia?


  


2. Re: Pesquisar arquivos Diretório

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 07/05/2010 - 16:10h

tenho algumas perguntas:

- todos arquivos começam com OUTA5050362082_C_ ?
- você vai mandar todos os arquivos que estiverem no diretório nesse padrão?
- ou vai mandar só o primeiro
- o padrão de escolha é C_1, C_2 ... C_99, ou a data de gravação do arquivo?




3. Re: Pesquisar arquivos Diretório

Jardel Fischer
jardelfi

(usa Red Hat)

Enviado em 07/05/2010 - 16:18h

ola, obrigado pelo retorno,

segue respostas:

tenho algumas perguntas:

- todos arquivos começam com OUTA5050362082_C_ ? (Nao, pode haver arquivos com o inicio diferente, para cada XXX_C tem um arquivo XXX_I
- você vai mandar todos os arquivos que estiverem no diretório nesse padrão?
R: com o comando mv $(ls | head -n 1 | tail -n 1) passo01/ eu ja mv (por data, 1 por vez)os arquivos para um diretorio especifico pro ftp, porém deve ir o par dele junto _I
- ou vai mandar só o primeiro
R.: ele deve mandar o primeiro _C junto com seu par _I
- o padrão de escolha é C_1, C_2 ... C_99, ou a data de gravação do arquivo?
R: O padrão de escolha será o primeiro listado pelo comando mv $(ls | head -n 1 | tail -n 1) passo01/

obrigado pela forca.




4. Re: Pesquisar arquivos Diretório

Jardel Fischer
jardelfi

(usa Red Hat)

Enviado em 07/05/2010 - 16:22h

apenas complementando...
para cada OUTA5050362082_C_1.INT tem um OUTA5050362082_I_1.INT

o codigo OUTA5050362082 representa que ele foi derivado de um arquivo EDI especifico (podem haver varios, sendo cada um com um codigo diferente.

O _C representar ser um cancelamento e o _1 é o código do edi derivado do edi pai "OUTA5050362082", o Codigo I indica "Inclusao" seguida do sequencial _1 que refere-se ao mesmo EDI filho porem como Inclusao.

tks...


5. Re: Pesquisar arquivos Diretório

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 07/05/2010 - 16:40h

Vê se eu tô indo pelo lado certo!




base=`ls *_C_* | head -n 1`
par=`echo $base | sed 's/_C_/_I_/'`
mv $base $par passo01/


6. Re: Pesquisar arquivos Diretório

Jardel Fischer
jardelfi

(usa Red Hat)

Enviado em 08/05/2010 - 10:25h

obrigado pelo retorno... funcionou blza...

preciso de um help so no looping do proximo passo:

1)faz um if se houver arquivos no diretorio /run
2) lista o diretório /run e copia o primeiro par para passo01; (Script = ok)
3) faz o ftp desses arquivos; (Script = ok)
4) move o primeiro par pro bkp; (Script = ok)
5) aguarda 10 segundos; (Script = ok)
6) pega o segundo par e repete o passo 3, 4 e 5; (este procedimento se repete até não
haver mais arquivos no /run (n pares) ) ???

A duvida é, como fazer para executar o passo 6 conforme haver arquivos no diretorio (looping)



7. Re: Pesquisar arquivos Diretório

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 10/05/2010 - 20:54h

# Verifica se ha arquivos no /run
#-----------------------------------
checar_arquivo ()
{
check=`ls /run/ | wc -c`
if [ "$check" -gt 0 ]; then
processa
fi
}


# processa o resto
#-----------------------------------
processa ()
{
#2) lista o diretório /run e copia o primeiro par para passo01; (Script = ok)
#3) faz o ftp desses arquivos; (Script = ok)
#4) move o primeiro par pro bkp; (Script = ok)
#5) aguarda 10 segundos; (Script = ok)
sleep 10


checar_arquivo

}

checar_arquivo



8. Re: Pesquisar arquivos Diretório

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 10/05/2010 - 20:56h

Seria alguma coisa assim?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts