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

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

Re: [shell-script] Dividir arquivo em 02 colunas iguais


From: Jonathan Lessa
Subject: Re: [shell-script] Dividir arquivo em 02 colunas iguais
Date: Fri, 9 Nov 2012 12:09:08 -0300

Só para constar:


$ sed -nr "s/\|\| /#/g;s/(<K> )?\| ?//g;/[0-9] $/p" arquivo | cut -d# -f1
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




Em 9 de novembro de 2012 11:53, Julio C. Neves <address@hidden>escreveu:

> # limpando a saída do cmd
> $ cmd | tail -n+8 | head -n-2 | sed -r 's/<K> +//' > lixo
> # Criando 1º Arquivo
> $ sed 's/||.*//;s/|//g' lixo > arq1
> # Criando 2º Arquivo
> $ sed 's/.*||//;s/|//g' lixo > arq2
> $ rm lixo
>
> e prompt! ;)
> Abcs,
> Julio
>
> *
> *
>
>
>
> Em 8 de novembro de 2012 20:35, nerobarrabas <address@hidden>
> escreveu:
>
> > **
> >
> >
> > Mestres,
> > Tenho o seguinte arquivo:
> >
> > [0;37;40m<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> ----------------------------------------------------------
> > [0m
> >
> > 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
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>


-- 
Att.:
Jonathan Lessa


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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