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
Para analisar o arquivo e impressão através da saída ou usar awk sed script cdfd123 Programação Shell Script e 4 03-03-2008 12:07
analisar o texto arquivo craggm Programação Shell Script e 9 02-27-2007 02:13
analisar o texto arquivo klick81 Programação Shell Script e 3 12-18-2006 12:04
Parse arquivo texto e enviar mails Amruta Pitkar UNIX para Dummies Perguntas & Respostas 12 08-11-2006 03:56
Como analisar um arquivo de texto com \ 034 como campo e \ 035 como delimitador final da mensagem? indianya Programação Shell Script e 1 08-26-2005 09:20

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 02-17-2008
sophiadun sophiadun is offline
Usuário
  
 

Join Date: Feb 2008
Lugares: 10
analisar através de um arquivo texto de saída e muitos

Oi, todos

O arquivo de entrada padrão é como a seguir:

Comece Object1

txt1

fim
;


Comece Object2

txt2

fim
;

...


Quero analisar este arquivo em um Object1.txt, Obeject2.txt ... cada um contém uma declaração de 'Começar' para ';', por exemplo, object1.txt contém:
Comece object1

txt1

fim
;

---------------------------
Quaisquer pensamentos?
também, Perguntas
1. Awk ou qualquer SED pode procurar por um padrão em muitas linhas?
2. como posso saída muitos arquivos?
3. Vou mover esta discussão para "Programação Shell Script e"?

Thank you in advance
  #2 (permalink)  
Old 02-18-2008
Lakris Lakris is offline
Usuário
  
 

Join Date: Oct 2007
Lugares: 246
Se você usar bash Você poderia tentar algo assim, muito simples e, provavelmente, muitas das armadilhas. Mas, uma vez que você está processando o código fonte, existem regras sintáticas que pode ser esperado para ser seguido. Limitou-se a controlos de Comece a palavra e incrementos o nome do arquivo índice quando encontradas.
Código:
lakris@ubuntu:~/projekt/scripts$ cat projekt.txt 
Begin Object1
txt1
end
;
Begin Object2
txt2
end
;
Begin Object3
txt3
end
;
Begin Object4
txt4
end
;
lakris@ubuntu:~/projekt/scripts$ cat splitit.sh 
#!/bin/bash
cnt=0
while read line;do
  [[ "$line" =~ "Begin" ]] && cnt=$(($cnt+1))
  echo $line goes into Object$cnt.txt
done < projekt.txt
lakris@ubuntu:~/projekt/scripts$ ./splitit.sh 
Begin Object1 goes into Object1.txt
txt1 goes into Object1.txt
end goes into Object1.txt
; goes into Object1.txt
Begin Object2 goes into Object2.txt
txt2 goes into Object2.txt
end goes into Object2.txt
; goes into Object2.txt
Begin Object3 goes into Object3.txt
txt3 goes into Object3.txt
end goes into Object3.txt
; goes into Object3.txt
Begin Object4 goes into Object4.txt
txt4 goes into Object4.txt
end goes into Object4.txt
; goes into Object4.txt
lakris@ubuntu:~/projekt/scripts$
Mudança "vai para" a ">>" quando você estiver confiante de que a saída é o que você quer. Irá anexar a qualquer arquivo com esse nome então você pode querer remover qualquer objeto *. txt primeiro.

/ Lakris
  #3 (permalink)  
Old 02-18-2008
sophiadun sophiadun is offline
Usuário
  
 

Join Date: Feb 2008
Lugares: 10
Thumbs up

Muito obrigado, Lakris. Vou testá-lo
  #4 (permalink)  
Old 02-18-2008
sophiadun sophiadun is offline
Usuário
  
 

Join Date: Feb 2008
Lugares: 10
Ah, e se o arquivo de entrada como:
Comece AAAAA
txt1
fim
;
Comece bbbbbb
txt2
fim
;
Comece cccc
txt3
fim
;
Comece ddd
txt4
fim
;
  #5 (permalink)  
Old 02-18-2008
Lakris Lakris is offline
Usuário
  
 

Join Date: Oct 2007
Lugares: 246
Comece então a primeira declaração (AAAAA) acaba em Object1.txt o segundo (bbbbbb) em Object2.txt etc Quer mandar chamado Object-aaaaa.txt, Object-bbbbbb.txt etc?
Dê uma olhada na linha enquanto lê construir. Você pode dividir-se para ler mais de uma variável ... ou Você pode tratar linha como um array.
  #6 (permalink)  
Old 02-18-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
viciado
  
 

Join Date: Jan 2007
Localização: Варна, България / Milano, Italia
Mensagens: 2.869
Código:
awk '/^Begin/{close(f);f=$2".txt"}f{print>f}' input
  #7 (permalink)  
Old 02-18-2008
sophiadun sophiadun is offline
Usuário
  
 

Join Date: Feb 2008
Lugares: 10
Citação:
Originally Posted by Lakris View Post
Comece então a primeira declaração (AAAAA) acaba em Object1.txt o segundo (bbbbbb) em Object2.txt etc Quer mandar chamado Object-aaaaa.txt, Object-bbbbbb.txt etc?
Dê uma olhada na linha enquanto lê construir. Você pode dividir-se para ler mais de uma variável ... ou Você pode tratar linha como um array.
Não, eu não quero que eles chamado Object-aaaaa.txt. Deve ser nomeado como aaaaa.txt


Obrigado
Closed Thread

Marcadores

Tags
linux, ubuntu

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 08:14.


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