The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Como encontrar uma cadeia dentro de arquivos yoavbe Programação Shell Script e 12 05-05-2008 02:19
Como eliminar Directory e no interior de arquivos usando comando Localizar bmkreddy Sun Solaris 3 07-10-2007 03:35
como encontrar um disco errored raj.soladm Sun Solaris 2 08-28-2006 02:31
como encontrar Script arquivo localização privilegiada script Asami Programação Shell Script e 10 03-15-2006 12:57
Encontre arquivos em Directórios Steiner Programação Shell Script e 4 04-02-2005 01:01

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 09-22-2008
osramos osramos is offline
Usuário
  
 

Join Date: Oct 2007
Lugares: 21
Necessidade script para localizar arquivos dentro de diretórios errored

Oi pessoas.

Eu trabalho em um script para verificar os arquivos que estão supostamente a não ser no diretório. Quer dizer, dentro de cada diretório ele deve ter alguns arquivos, mas alguns poderiam ser errado, e eu quero passar os arquivos que estão errados.

Ex:
CSPOTGET edpst / CargadoresSPOT Historicos_Spot_MDI.zip
COBGET edpst / CargadorOmelBroker ??????. xls
CORGET edpst / CargadorOmelReuters CarOmlReuts.xls

Na pasta "edpst / CargadoresSPOT" só deve ter "Historicos_Spot_MDI.zip"

Na pasta "edpst / CargadorOmelBroker" só deve ter arquivos com "yymmdd.xls", e não outros.

Eu imagino esta "configuração" arquivo onde a 1 ª coluna é uma variável, o segundo é o diretório e da 3 ª coluna é o arquivo (s) de cada diretório.

Você entendeu o que eu escrevi?

osramos
  #2 (permalink)  
Old 09-22-2008
jim McNAMARA jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.787
Quer encontrar arquivos que não correspondem ao padrão, correto?
ksh permite que você faça o seguinte:

Código:
#!/bin/ksh
# files that are not named Historicos_Spot_MDI.zip
ls edpst/CargadoresSPOT/!(Historicos_Spot_MDI.zip)
# 
ls edpst/CargadorOmelBroker/!(??????.xls)
#
ls edpst/CargadorOmelReuters/!(CarOmlReuts.xls)

  #3 (permalink)  
Old 09-22-2008
osramos osramos is offline
Usuário
  
 

Join Date: Oct 2007
Lugares: 21
Ok, ele funciona.

Mas há cerca de 50 diretórios, com alguns deles com 4 ou 5 arquivos para excluir (não jogo).

Posso fazer isto com um ciclo ou algo semelhante PARA?

osramos

Citação:
Originally Posted by jim McNAMARA View Post
Quer encontrar arquivos que não correspondem ao padrão, correto?
ksh permite que você faça o seguinte:

Código:
#!/bin/ksh
# files that are not named Historicos_Spot_MDI.zip
ls edpst/CargadoresSPOT/!(Historicos_Spot_MDI.zip)
# 
ls edpst/CargadorOmelBroker/!(??????.xls)
#
ls edpst/CargadorOmelReuters/!(CarOmlReuts.xls)
  #4 (permalink)  
Old 09-22-2008
jim McNAMARA jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.787
O que você está pedindo é a de criar um resultset que todos os arquivos menos pattern1 menos pattern2

O único problema para isso é que nós vamos ter que usar grep-v. O arquivo padrões correspondentes tornam-se as expressões regulares

Código:
??????.xls
# becomes regex:
[0-9]{6}\.xls

Isso acontecerá para cada arquivo que você deseja excluir. Caso contrário, você não pode simplesmente
Código:
ls !(pattern)

para cinco arquivos diferentes, porque cada instância de! (pattern2) irá mostrar como outros padrões pattern2 pattern3 ... etc

Código:
# generalized solution
ls directory | grep -v -e 'regex1' -e 'regex2' -e 'regex3'

Por isso você tem que construir 50 diferentes regexes (um para cada arquivo que você tem que especificar) e aplicam-se algumas delas para o diretório correto saída de ls. Eu não posso fazer isso por você.
  #5 (permalink)  
Old 09-24-2008
osramos osramos is offline
Usuário
  
 

Join Date: Oct 2007
Lugares: 21
Oh, eu vejo.

Outro problema que tenho, assumindo que eu estou usando "ls! (Padrão)", é o shell que estou usando.

O servidor é um Windows Server, mas tem instalado CygWin e Bash não reconhece o "!".

Existe outra solução?

Atenciosamente,

osramos

Citação:
Originally Posted by jim McNAMARA View Post
O que você está pedindo é a de criar um resultset que todos os arquivos menos pattern1 menos pattern2

O único problema para isso é que nós vamos ter que usar grep-v. O arquivo padrões correspondentes tornam-se as expressões regulares

Código:
??????.xls
# becomes regex:
[0-9]{6}\.xls

Isso acontecerá para cada arquivo que você deseja excluir. Caso contrário, você não pode simplesmente
Código:
ls !(pattern)

para cinco arquivos diferentes, porque cada instância de! (pattern2) irá mostrar como outros padrões pattern2 pattern3 ... etc

Código:
# generalized solution
ls directory | grep -v -e 'regex1' -e 'regex2' -e 'regex3'

Por isso você tem que construir 50 diferentes regexes (um para cada arquivo que você tem que especificar) e aplicam-se algumas delas para o diretório correto saída de ls. Eu não posso fazer isso por você.
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 02:33.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0