The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

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
"sede" para verificar o tamanho do arquivo & echo "" ao arquivo de destino jockey007 Programação Shell Script e 7 04-28-2009 02:08
Como posso substituir "(", "\" "+" em um arquivo mail2sant Programação Shell Script e 3 04-22-2008 11:10
Desenvolvimento Release: Linux Mint 4,0 Beta "Fluxbox", 4.0 Alpha "Debian" iBot UNIX e Linux RSS Notícias 0 01-04-2008 03:00
Explique a linha "mn_code \u003d` env | grep ".. mn" | awk-F "\u003d" '(print $ 2)' `" Lokesha UNIX para Dummies Perguntas & Respostas 4 12-20-2007 01:52
Não utpmx entrada: você deve executar "login" de nível mais baixo "shell" peterpan UNIX para Dummies Perguntas & Respostas 0 01-18-2006 04:15

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 04-25-2007
Percy Percy is offline
Usuário
  
 

Join Date: Jan 2007
Lugares: 14
"vi"-ing um arquivo atualizado constantemente

Oi,

Um pouco de uma pergunta idiota aqui. Desculpa pessoal.

Suponha que eu tenho esse arquivo que está a ser actualizada a intervalos irregulares (de alguns segundos, a poucos minutos, quem sabe) por um fundo processo.

Euvi'Esse arquivo, com a intenção de edição que, por isso, abre-se uma temperatura cópia como o habitual / tmp/720cwhatever

Agora suponha que, enquanto eu tenho esse arquivo aberto, actualizada várias vezes por seus antecedentes do processo.

Eu faço as minhas alterações, salve-saia.

O que acontece com as atualizações que foram feitas pelo processo de fundo durante o tempo que tinha o arquivo aberto?


Como faço para atenuar esta situação?
(infelizmente, suspendendo o processo de fundo não é uma opção).


O arquivo também é bastante grande (cerca de 40MB) para que ele tome vi alguns segundos para carregá-lo para cima, para ele guardar etc ....


Unix é ksh.
OS é SunOS.

Espero que vocês possam ajudar! - Thanks in advance!
  #2 (permalink)  
Old 04-25-2007
sysgate's Avatar
sysgate sysgate is offline Forum Advisor  
Unix baseada
  
 

Join Date: Nov 2006
Local: Bulgária
Mensagens: 1.322
As atualizações feitas por fundo processo não estão perdidos, a pergunta é o que acontece quando você está prestes a fazer "Save & Quit" - você será solicitado com a mensagem que o arquivo original mudou: você deseja salvar assim mesmo?
A outra coisa é quando alguém está a tentar vi o mesmo arquivo aberto por você - ele vai receber uma mensagem:

Citação:
E325: ATTENTION
Encontrado um ficheiro com o nome ". Temp.txt.swp"
detidas por: sysgate datada: Wed Apr 25 17:29:23 2007
nome do arquivo: ~ sysgate / temp.txt
modificados: nenhuma
nome do usuário: sysgate hostname: $ myhost
processo ID: 30240 (ainda em execução)
Ao abrir o arquivo "temp.txt"
data: Wed Apr 25 17:27:07 2007

(1) Outro programa pode estar editando o mesmo arquivo.
Se este for o caso, tome cuidado para não acabar com dois
diferentes instâncias do mesmo arquivo quando efectuar alterações.
Saia, ou prosseguir com cautela.

(2) Uma sessão para editar este ficheiro caiu.
Se este for o caso, use ": recuperar" ou "vim-r temp.txt"
para recuperar as alterações (ver ": ajudar a recuperação").
Se você já fez isso, eliminar o ficheiro ". Temp.txt.swp"
para evitar esta mensagem.

Trocar o arquivo ". Temp.txt.swp" já existe!
[O] caneta só de leitura, (E) dit afinal, (R) ecover, (Q) uit, (A) BORT:
mas, eu suponho que você quer dizer grandes ficheiros de registo, pelo que a solução vai variar dependendo do que exatamente você quer fazer.
  #3 (permalink)  
Old 04-25-2007
Shell_Life's Avatar
Shell_Life Shell_Life is offline
Usuário
  
 

Join Date: Mar 2007
Localização: Bahia, Brasil
Lugares: 695
Percy, como sysgate observou, a sua solução irá depender fortemente o que exatamente
você deseja atualizar o arquivo em.
Será realmente necessário "vi"O arquivo?
Poderia ser escrito um shell para fazer as atualizações que você quer?
  #4 (permalink)  
Old 04-25-2007
Percy Percy is offline
Usuário
  
 

Join Date: Jan 2007
Lugares: 14
OK cheers guys!

Um pouco mais informação:

O que exatamente eu quero fazer é esta:

Este é um arquivo grande, cheio de arquivo e uma hashcode para cada nome.
cada linha do arquivo é
filename, data, hashcode
filename, data, hashcode
...

Enfim, para que um arquivo está em um servidor, recebe um hashcode que é então colocado em uma grande arquivo de log mina e, em seguida, o arquivo é processado.

Deverá ser enviado o arquivo de novo para o servidor, a sua hashcode é verificada e, se ela existe (ou seja, o meu processo tem tratado com ele já) que lida com o arquivo adequadamente.

Venho fracassou quando necessário reprocessar o mesmo arquivo novamente - e eu preciso editar o arquivo de registro grande e remova a entrada (toda a linha - nome, data, hashcode) para que eu possa feed-lo através de novo.


Escrever um sh para lidar com isso? - Não tenho certeza - a um daqueles onde acontece frequentemente, mas não com freqüência suficiente para justificar um sh .... mas o seu algo que eu acho que poderia olhar para.


Uma outra coisa:

Suponha duas pessoas sudos para um usuário (o mesmo utilizador), primeiro e, em seguida, edite o arquivo - você não receber a mensagem sobre o arquivo mudando quando você salvar / sair certo? - Pelo menos é o que parece que isso aconteça aqui no Mundo Bizarro ...
  #5 (permalink)  
Old 04-25-2007
Shell_Life's Avatar
Shell_Life Shell_Life is offline
Usuário
  
 

Join Date: Mar 2007
Localização: Bahia, Brasil
Lugares: 695
Percy,
Aqui está uma possível solução:
1) Mudar o nome da "work_file" para um "tmp_file" e criar imediatamente um
novo "work_file" para que novos registros pode continuar a ser adicionado a ele.
Código:
mv  work_file  tmp_file
touch  work_file
2) "vi"A" tmp_file "e fazer todas as alterações que pretende.

2.a) Quando tiver acabado com as suas alterações na "tmp_file",
Não saia ainda.

2.b) Vá para o fim do "tmp_file" e na linha de comando digite:
Código:
:r work_file
Isto irá ler o "work_file" e colocá-lo completamente após a última linha
de "tmp_file".

2.c) Escreve e sair da "tmp_file".
Como diz o arquivo é muito grande, se você tentar salvar a área de trabalho
como "work_file", pode levar um longo tempo e utilizar uma grande quantidade de memória
e espaço em disco.

3) Imediatamente renomear "tmp_file" volta a "work_file".
Código:
mv  tmp_file  work_file
Veja se isto pode funcionar para você.
  #6 (permalink)  
Old 04-26-2007
Percy Percy is offline
Usuário
  
 

Join Date: Jan 2007
Lugares: 14
Obrigado por isso.

Há ainda o potencial de uma ligeira falta aditamentos ao logfile entre etapas 2c e 3 - e principalmente devido ao seu rápido como eu posso tipo "mv arquivo ficheiro2" - em um pânico, eu provavelmente gastar mais tempo batendo o retrocesso do que realmente digitando comandos corretamente.

Sua definitivamente uma melhor apanhador de entradas do que a solução eu tinha em mente - de forma muito obrigado!
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 07: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