The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
servidor monitor script ... zedex Programação Shell Script e 1 06-01-2008 05:10
necessitar de ajuda a fazer um script para controlar se os ficheiros estão percorrer jonathan184 Programação Shell Script e 0 05-15-2007 12:47
carga monitor script locabuilt UNIX & avançada para usuários experientes 7 01-19-2007 02:37
Script para ajudar com Monitor bases arrays nelmest Programação Shell Script e 1 09-05-2005 11:50
Monitor usuários que entra o meu diretório home mnpradeep Alto Nível de programação 1 03-21-2002 05:08

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 10-24-2006
cmf00186 cmf00186 is offline
Usuário
  
 

Join Date: Oct 2006
Posts: 2
Hep com script para acompanhar diretório

Olá,

Sou um newbie que está tentando escrever um script para monitorar um diretório para um conjunto de 3 arquivos que eu estou esperando para receber as ftp'd. Às vezes, suspender as operações de manutenção etc, mas nós ainda obter os arquivos para que possa haver mais de 1 set. Se houver mais de 1 conjunto, gostaria de passar todos, mas o conjunto mais recente de um arquivo diretório.

Por exemplo, dizem os arquivos são denominados:
acme1_090106.txt
acme1_091006.txt
acme1_092206.txt
acme2_090106.txt
acme2_091006.txt
acme2_092206.txt
acme3_090106.txt
acme3_091006.txt
acme3_092206.txt

Gostaria de passar o mais velhos arquivos para um arquivo diretório
acme1_090106.txt
acme1_091006.txt
acme2_090106.txt
acme2_091006.txt
acme3_090106.txt
acme3_091006.txt

Estou executando o AIX versão 5.31.

Isto é o que tenho até agora. Alguma sugestão seria muito apreciado.

#! / bin / ksh
#
arquivos \u003d 0
LoopCnt \u003d 0
while (($ arquivos <4)); fazer
echo `date`
para, em nome acme `ls *`; fazer
if [-f $ nome]
então deixar arquivos arquivos \u003d 1
fi
feito
if (($ arquivos <3)); em seguida
if ((LoopCnt <6)); em seguida
echo "não tem 3 arquivos ainda, dormindo 10 minutos"
echo ""
600 sono
arquivos \u003d 0
deixe LoopCnt \u003d LoopCnt 1
diferente
saída
fi
fi
feito
Isto é onde eu estou preso

if (($ arquivos> 3)); em seguida
echo "Tem mais de 3 arquivos, mova todos, mas o mais tardar para o arquivo"
saída
fi
  #2 (permalink)  
Old 10-25-2006
mahendramahendr mahendramahendr is offline Forum Advisor  
Usuário
  
 

Join Data: dezembro 2005
Local: Londres
Lugares: 222
Há muitas maneiras de fazê-lo ... um baseia-se no momento em que o arquivo criado no sistema e no outro modo se baseia na data no nome do arquivo ...

Vai haver um problema com o primeiro método se o mais tardar antes do arquivo ftp'd arquivos antigos ... ficheiros antigos terão últimas arquivo mais recente data de criação do que irá mover arquivos e últimos arquivos para o arquivo pasta ...

Por isso a comissão aprovou o segundo método arquivos que o arquivo com base na data no nome do arquivo ... Espero que ajude.


Código:
#!/usr/bin/ksh

for name in $(ls acme* | sed 's/_[0-9]*.txt//g' | uniq)
do
   cnt=0
   for fname in $(ls $name* | sed 's/_\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/_\3\1\2/g' | sort -r )
   do
      echo $fname
      nm=$(echo $fname | sed 's/_\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/_\2\3\1/g' )
      cnt=$(($cnt+1));
      if [ $cnt -ne 1 ]
      then
          mv $nm  ./bkup
          echo "$nm moved to backup"
      fi
   done
done

Eu testei e funcionou bem ...
  #3 (permalink)  
Old 10-25-2006
cmf00186 cmf00186 is offline
Usuário
  
 

Join Date: Oct 2006
Posts: 2
mahendramahendr,

Tentei o seu código e ele funciona perfeitamente!. Muito obrigado pela sua ajuda.
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 10:53.


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