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:44:03 -0300

padawan.sh

http://pastebin.com/eWgCTdm7


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




Em 14 de novembro de 2012 21:37, Enilton Angelim
<address@hidden>escreveu:

> 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]