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: Julio C. Neves
Subject: Re: [shell-script] Dividir arquivo em 02 colunas iguais
Date: Fri, 9 Nov 2012 12:53:24 -0200

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



reply via email to

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