shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dividir arquivo em 02 colunas iguais


From: nerobarrabas
Subject: Re: Dividir arquivo em 02 colunas iguais
Date: Mon, 12 Nov 2012 23:46:22 -0000
User-agent: eGroups-EW/0.82

Puxa!
O difícil é escolher qual a melhor solução.
Obrigado a todos que me ajudaram.

Diramos

--- Em address@hidden, "nerobarrabas" <diramos@...> escreveu
>
> Mestres,
> Tenho o seguinte arquivo:
> 
> <K>  
> --------------------------------------------------------------------
> <K> |------------------- Khomp Errors Counters on Links -----------------|
> <K> |--------------------------------------------------------------------|
> <K> |----- Link '0' on board '0' -----||----- Link '1' on board '0' -----|
> <K> |---------------------------------||---------------------------------|
> <K> |       Error type       | Number ||       Error type       | Number |
> <K> |---------------------------------||---------------------------------|
> <K> |        Changes to lock | 6      ||        Changes to lock | 10     |
> <K> |         Lost of signal | 22     ||         Lost of signal | 53     |
> <K> |     Alarm notification | 0      ||     Alarm notification | 0      |
> <K> |          Lost of frame | 8      ||          Lost of frame | 46     |
> <K> |     Lost of multiframe | 13     ||     Lost of multiframe | 55     |
> <K> |           Remote alarm | 3      ||           Remote alarm | 16     |
> <K> |             Slip alarm | 1      ||             Slip alarm | 616    |
> <K> |                   PRBS | 0      ||                   PRBS | 0      |
> <K> |             Wrong bits | 0      ||             Wrong bits | 0      |
> <K> |       Jitter variation | 0      ||       Jitter variation | 0      |
> <K> |    Frames without sync | 0      ||    Frames without sync | 0      |
> <K> |      Multiframe Signal | 0      ||      Multiframe Signal | 0      |
> <K> |            Frame error | 39     ||            Frame error | 112    |
> <K> |      Bipolar violation | 78     ||      Bipolar violation | 18616  |
> <K> |             CRC4 error | 0      ||             CRC4 error | 0      |
> <K>  --------------------------------------------------------------------
> 
> 
> A primeira linha tem esses caracteres estranhos [0;37;40m<K> e a última esses 
> [0m 
> Preciso pegar os valores centrais das duas colunas e mandar para 02 arquivos, 
> deixando texto puro.
> Consegui fazer e ficou assim:
> 
> #Arquivo1:
> 
> Changes to lock  6      
> Lost of signal  22     
> Alarm notification  0      
> Lost of frame  8      
> Lost of multiframe  13     
> Remote alarm  3      
> Slip alarm  1      
> PRBS  0      
> Wrong bits  0      
> Jitter variation  0      
> Frames without sync  0      
> Multiframe Signal  0      
> Frame error  39     
> Bipolar violation  78     
> CRC4 error  0      
> 
> #Arquivo 2:
> 
> Changes to lock  10     
> Lost of signal  53     
> Alarm notification  0      
> Lost of frame  46     
> Lost of multiframe  55     
> Remote alarm  16     
> Slip alarm  616    
> PRBS  0      
> Wrong bits  0      
> Jitter variation  0      
> Frames without sync  0      
> Multiframe Signal  0      
> Frame error  112    
> Bipolar violation  18616  
> CRC4 error  0
> 
> Fiz o seguinte script, mas acho que poderia ser melhorado. Vejam:
> 
> #!/bin/bash
> comando=$(/usr/sbin/comando | sed 's/<K>//')
> var1=$(printf "$comando" | sed 's/||/\#/' | cut -d"#" -f1)
> var1=$(printf "$var1" | sed 's/-//g')
> var1=$(printf "$var1" | sed '$d')                  
> var1=$(printf "$var1" | sed 's/|//g')
> var1=$(printf "$var1" | sed 's/Khomp Errors Counters on Links//g')
> var1=$(printf "$var1" | sed 's/Error type        Number//g')
> var1=$(printf "$var1" | sed 's/^ \+//')
> var1=$(printf "$var1" | sed 's/^ \+//')
> var1=$(printf "$var1" | awk 'NF>0')
> var1=$(printf "$var1" | sed '1,2d')
> printf "$var1" > arquivo1.txt
> 
> var2=$(printf "$comando" | sed 's/||/\#/' | cut -d"#" -f2)
> var2=$(printf "$var2" | sed 's/-//g')
> var2=$(printf "$var2" | sed '$d')                  
> var2=$(printf "$var2" | sed 's/|//g')
> var2=$(printf "$var2" | sed 's/Khomp Errors Counters on Links//g')
> var2=$(printf "$var2" | sed 's/Error type        Number//g')
> var2=$(printf "$var2" | sed 's/^ \+//')
> var2=$(printf "$var2" | sed 's/^ \+//')
> var2=$(printf "$var2" | awk 'NF>0')
> var2=$(printf "$var2" | sed '1,2d')
> printf "$var2" > arquivo2.txt 
> 
> Alguém poderia analisar e tentar sintetizar esse script? 
> Resumindo/substituindo comandos?
> Prá deixar ele mais funcional e eficaz?
> Até mesmo para aprendizado da gente.
> 
> Grato desde já.
> 
> Diramos
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]