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

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

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


From: Enilton Angelim
Subject: Re: [shell-script] Re: Dividir arquivo em 02 colunas iguais
Date: Wed, 14 Nov 2012 21:37:57 -0300

Para o padawan do shell.  =]

Apenas exemplo:

i=1
while [ $i -le 2  ];do
        # -F delimitador é |; -v var=$var_do_sistema; NR da linha 8 à 22;
Imprima as respectivas colunas e salve em um arquivo temporario.
        awk -F '|' -v cl1=${coluna1:-2} -v cl2=${coluna2:-3}  'NR >= 8 &&
NR <= 22 {print $cl1 $cl2 }' /tmp/teste >/tmp/arquivo$i
        #Declara coluna{1,2}
        coluna1=5
        coluna2=6
        #incrementa i (i = i+1 or i+=1)
        let i++
done



             # Enilton Angelim
         # # Analista de Suporte Jr.
      # # # F13 Tecnologia - www.f13.com.br
   # # # # fone: +55 85 8894-8099(OI)
# # # # # mail/msn: address@hidden




Em 12 de novembro de 2012 20:46, nerobarrabas <address@hidden> escreveu:

> **
>
>
> 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:
> >
> > [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]



reply via email to

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