[shell-script] Cifra de César

2008-08-26 Por tôpico MrBiTS
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

> Gostaria de ouvir sugestões de melhorias para o meu script ou
> sugestões de outras abordagens para resolver o problema. O script já
> faz o que deveria fazer, apenas quero trocar idéias com o objetivo de
> aprendizado.

O script ficou bem interessante. Falta uma forma clara de dizer como ele
funciona. Eu acrescentaria uns

read -p "Digite o nome do arquivo: " ARQ
read -p "Digite o valor do rotacionamento: " CHAVE

Com isso, usaria algo como:

sed "y/${PROIBIDOS}/${PERMITIDOS}/; y/${ALFABETO1}/${ALFABETO2}/" $ARQ

Isso o faria ficar minimamente usável e ele não ficaria parado sem fazer
nada na sua demonstração para o professor.

Eu tenho uma implementação parecida, mas trabalho com cifras Vigenère (
Tabula Recta ), com todo um conceito de arrays.

http://enigma.wikispaces.com/Vigenere+Cipher.

Como criptografia em sí é um assunto que foge do escopo shell-script,
podemos discutir isso em PVT.

- --

Um abraço

.0. MrBiTs - [EMAIL PROTECTED]
..0 GnuPG  -
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkiz+yUACgkQrDdxWm3R8YZBegCfVSpLX2cSVBnzAWwHBo3XYqGG
7GcAmweel8EAKQlDBf7m4HuCAaUjI8g4
=rl2a
-END PGP SIGNATURE-


[shell-script] Consumo de CPU

2008-08-26 Por tôpico fernando_gottlieb
Olá pessoal.
Estive procurando uma maneira de obter o consumo de CPU e esbarrei em
características do top, a primeira leitura é sempre a mesma.
Continuando a procura por outra forma de obter este resultado,
encontrei vários trechos de códigos mas nenhum conclusivo.
Depois de algumas tentativas, consegui o que segue abaixo.
Espero que ajude alguém.
Gostaria, se possivel, de pedir sugestões para otimizá-lo.
Segue o código:

### Escreve dados sobre uso do processador
# Obtem duas leituras do comando top (top -b -d 0.5 -n2)
# Separa apenas as linhas onde aparece o uso da cpu (| grep 'Cpu(s)')
# Retira as strings contidas no inicio do texto contando dois espacos
(| cut -f2- -d ' ')
# Separa os dois primeiros parametros cortando os primeiros 18
caracteres (| cut -c1-18)
# Substitui as strings %, u, s e y por espacos, deixando apenas as
virugulas (| tr '%usy' ' ')
var=$(top -b -d 0.5 -n2 | grep 'Cpu(s)' | cut -f2- -d ' ' | cut -c1-18
| tr '%usy' ' ')
# Obtem o dado anterior a terceira virgula = user
user=$(echo $var | cut -d, -f3)
# Obtem o dado anterior a quarda virgula = sys
sys=$(echo $var | cut -d, -f4)
# Depois de obter o uso de cpu para usuario (%us = $user) e sistema
(%sy = $sys)
# faz a soma das variaveis usando bc (basic calculator) retirando o
numero sem o ponto
total=$(echo "$user + $sys" | bc | cut -d. -f1)
echo '#cpu = '$total

Abraços

Fernando




Re: [shell-script] Consumo de CPU

2008-08-26 Por tôpico Eri Ramos Bastos
Isso pode dar uma direção:

http://www.howtoforge.com/forums/showthread.php?t=25405

[]'s
Eri

2008/8/26 fernando_gottlieb <[EMAIL PROTECTED]>

> Olá pessoal.
> Estive procurando uma maneira de obter o consumo de CPU e esbarrei em
> características do top, a primeira leitura é sempre a mesma.
> Continuando a procura por outra forma de obter este resultado,
> encontrei vários trechos de códigos mas nenhum conclusivo.
> Depois de algumas tentativas, consegui o que segue abaixo.
> Espero que ajude alguém.
> Gostaria, se possivel, de pedir sugestões para otimizá-lo.
> Segue o código:
>
> ### Escreve dados sobre uso do processador
> # Obtem duas leituras do comando top (top -b -d 0.5 -n2)
> # Separa apenas as linhas onde aparece o uso da cpu (| grep 'Cpu(s)')
> # Retira as strings contidas no inicio do texto contando dois espacos
> (| cut -f2- -d ' ')
> # Separa os dois primeiros parametros cortando os primeiros 18
> caracteres (| cut -c1-18)
> # Substitui as strings %, u, s e y por espacos, deixando apenas as
> virugulas (| tr '%usy' ' ')
> var=$(top -b -d 0.5 -n2 | grep 'Cpu(s)' | cut -f2- -d ' ' | cut -c1-18
> | tr '%usy' ' ')
> # Obtem o dado anterior a terceira virgula = user
> user=$(echo $var | cut -d, -f3)
> # Obtem o dado anterior a quarda virgula = sys
> sys=$(echo $var | cut -d, -f4)
> # Depois de obter o uso de cpu para usuario (%us = $user) e sistema
> (%sy = $sys)
> # faz a soma das variaveis usando bc (basic calculator) retirando o
> numero sem o ponto
> total=$(echo "$user + $sys" | bc | cut -d. -f1)
> echo '#cpu = '$total
>
> Abraços
>
> Fernando
>
>
>
> 
>
> -
> 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: [EMAIL PROTECTED]
> -
> 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
>
>
>


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



Re: [shell-script] Consumo de CPU

2008-08-26 Por tôpico Raul Libório
Uma recomendação:

# --sar ( System Activty Reporter )
[ http://www.dicas-l.com.br/dicas-l/20040424.php ]

O sar provê informações semelhantes ao vmstat/iostat/netstat (esses
com algumas particularidades), embora seja mais completo e flexível.
Ocupa aproximadamente 750Kb de RAM, com uso aproximado de CPU em torno
de 0,25% causando um relativo pequeno impacto no sistema. Entre as
informações fornecidas pelo sar destacam-se:

* Paginação: exibe freqüência de paginação em KB/s de dados lidos
e gravados (-w, -p)
* Buffer: uso, reinicialização e atividade do buffer (-b)
* Fila: atividade e uso da fila de processos (-q)
* CPU: exibe informações sobre relação uso da CPU por usuário x sistema (-u)
* Memória: exibe como a memória está sendo utilizada (-g ou -k via
kernel allocation)
* Geral: coleta geral de todas informações providas via sar (-A)

Ele pode ser encontrado no pacote 'Sysstat'.
Pra baixar: http://linux.softpedia.com/progDownload/Sysstat-Download-4621.html
Entao.. ao script :D

#!/bin/bash
# coleta a porcentagem de uso de CPU em um dado momento
# 06.04.08 - GPL
#__

dados="/tmp/process.log"
medias="/tmp/media.log"

#  --- Captura somente as linhas que contenham
# a media retornada, e filtra a coluna que indica
# processamento, salvando em arquivo.

sar 1 10 -u | grep -i Average | \
awk '{print $5}' > $dados

# -- Captura somente a ultima linha, que contem a
# media geral das amostras retiradas no momento.
cat  $dados | head -n 1 > $medias


# -- Guarda a porcentagem em uma variavel
MediaGeral=$( cat $medias )


# Escreve a media no arquivo de log
echo MEDIA = $MediaGeral >> /var/log/processador.log


Eu usei esse script em um trabalho da faculdade, nao fui eu quem o
fez, MASSS, funciona :)
--

Raul Libório
UniJorge Redes - www.redesfja.com
rauhmarutsªhotmailºcom
Linux user#581

Dúvidas: enviar para /dev/null



2008/8/26 fernando_gottlieb <[EMAIL PROTECTED]>:
> Olá pessoal.
> Estive procurando uma maneira de obter o consumo de CPU e esbarrei em
> características do top, a primeira leitura é sempre a mesma.
> Continuando a procura por outra forma de obter este resultado,
> encontrei vários trechos de códigos mas nenhum conclusivo.
> Depois de algumas tentativas, consegui o que segue abaixo.
> Espero que ajude alguém.
> Gostaria, se possivel, de pedir sugestões para otimizá-lo.
> Segue o código:
>
> ### Escreve dados sobre uso do processador
> # Obtem duas leituras do comando top (top -b -d 0.5 -n2)
> # Separa apenas as linhas onde aparece o uso da cpu (| grep 'Cpu(s)')
> # Retira as strings contidas no inicio do texto contando dois espacos
> (| cut -f2- -d ' ')
> # Separa os dois primeiros parametros cortando os primeiros 18
> caracteres (| cut -c1-18)
> # Substitui as strings %, u, s e y por espacos, deixando apenas as
> virugulas (| tr '%usy' ' ')
> var=$(top -b -d 0.5 -n2 | grep 'Cpu(s)' | cut -f2- -d ' ' | cut -c1-18
> | tr '%usy' ' ')
> # Obtem o dado anterior a terceira virgula = user
> user=$(echo $var | cut -d, -f3)
> # Obtem o dado anterior a quarda virgula = sys
> sys=$(echo $var | cut -d, -f4)
> # Depois de obter o uso de cpu para usuario (%us = $user) e sistema
> (%sy = $sys)
> # faz a soma das variaveis usando bc (basic calculator) retirando o
> numero sem o ponto
> total=$(echo "$user + $sys" | bc | cut -d. -f1)
> echo '#cpu = '$total
>
> Abraços
>
> Fernando
>
> 


Re: [shell-script] Consumo de CPU

2008-08-26 Por tôpico Raul Libório
Man, tem uma outra ferramenta parecida, o 'mpstat'

[EMAIL PROTECTED] proc]# mpstat 1 9 | awk {'print $5'} | sed -n '1,2!p;s/^$//;' 
| nl

Se eu soubesse disso semestre passado...

--

Raul Libório
UniJorge Redes - www.redesfja.com
rauhmarutsªhotmailºcom
Linux user#581

Dúvidas: enviar para /dev/null



2008/8/26 Raul Libório <[EMAIL PROTECTED]>:
> Uma recomendação:
>
> # --sar ( System Activty Reporter )
> [ http://www.dicas-l.com.br/dicas-l/20040424.php ]
>
> O sar provê informações semelhantes ao vmstat/iostat/netstat (esses
> com algumas particularidades), embora seja mais completo e flexível.
> Ocupa aproximadamente 750Kb de RAM, com uso aproximado de CPU em torno
> de 0,25% causando um relativo pequeno impacto no sistema. Entre as
> informações fornecidas pelo sar destacam-se:
>
>* Paginação: exibe freqüência de paginação em KB/s de dados lidos
> e gravados (-w, -p)
>* Buffer: uso, reinicialização e atividade do buffer (-b)
>* Fila: atividade e uso da fila de processos (-q)
>* CPU: exibe informações sobre relação uso da CPU por usuário x sistema 
> (-u)
>* Memória: exibe como a memória está sendo utilizada (-g ou -k via
> kernel allocation)
>* Geral: coleta geral de todas informações providas via sar (-A)
>
> Ele pode ser encontrado no pacote 'Sysstat'.
> Pra baixar: http://linux.softpedia.com/progDownload/Sysstat-Download-4621.html
> Entao.. ao script :D
>
> #!/bin/bash
> # coleta a porcentagem de uso de CPU em um dado momento
> # 06.04.08 - GPL
> #__
>
> dados="/tmp/process.log"
> medias="/tmp/media.log"
>
> #  --- Captura somente as linhas que contenham
> # a media retornada, e filtra a coluna que indica
> # processamento, salvando em arquivo.
>
> sar 1 10 -u | grep -i Average | \
> awk '{print $5}' > $dados
>
> # -- Captura somente a ultima linha, que contem a
> # media geral das amostras retiradas no momento.
> cat  $dados | head -n 1 > $medias
>
>
> # -- Guarda a porcentagem em uma variavel
> MediaGeral=$( cat $medias )
>
>
> # Escreve a media no arquivo de log
> echo MEDIA = $MediaGeral >> /var/log/processador.log
>
>
> Eu usei esse script em um trabalho da faculdade, nao fui eu quem o
> fez, MASSS, funciona :)
> --
>
> Raul Libório
> UniJorge Redes - www.redesfja.com
> rauhmarutsªhotmailºcom
> Linux user#581
>
> Dúvidas: enviar para /dev/null
>
>
>
> 2008/8/26 fernando_gottlieb <[EMAIL PROTECTED]>:
>> Olá pessoal.
>> Estive procurando uma maneira de obter o consumo de CPU e esbarrei em
>> características do top, a primeira leitura é sempre a mesma.
>> Continuando a procura por outra forma de obter este resultado,
>> encontrei vários trechos de códigos mas nenhum conclusivo.
>> Depois de algumas tentativas, consegui o que segue abaixo.
>> Espero que ajude alguém.
>> Gostaria, se possivel, de pedir sugestões para otimizá-lo.
>> Segue o código:
>>
>> ### Escreve dados sobre uso do processador
>> # Obtem duas leituras do comando top (top -b -d 0.5 -n2)
>> # Separa apenas as linhas onde aparece o uso da cpu (| grep 'Cpu(s)')
>> # Retira as strings contidas no inicio do texto contando dois espacos
>> (| cut -f2- -d ' ')
>> # Separa os dois primeiros parametros cortando os primeiros 18
>> caracteres (| cut -c1-18)
>> # Substitui as strings %, u, s e y por espacos, deixando apenas as
>> virugulas (| tr '%usy' ' ')
>> var=$(top -b -d 0.5 -n2 | grep 'Cpu(s)' | cut -f2- -d ' ' | cut -c1-18
>> | tr '%usy' ' ')
>> # Obtem o dado anterior a terceira virgula = user
>> user=$(echo $var | cut -d, -f3)
>> # Obtem o dado anterior a quarda virgula = sys
>> sys=$(echo $var | cut -d, -f4)
>> # Depois de obter o uso de cpu para usuario (%us = $user) e sistema
>> (%sy = $sys)
>> # faz a soma das variaveis usando bc (basic calculator) retirando o
>> numero sem o ponto
>> total=$(echo "$user + $sys" | bc | cut -d. -f1)
>> echo '#cpu = '$total
>>
>> Abraços
>>
>> Fernando
>>
>> 
>


Re: [shell-script] Consumo de CPU

2008-08-26 Por tôpico jimmy
___

usando mais ou menos o seu script fiz um assim:

var=$(top -b -d 0.5 -n2 | grep -o "Cpu(s):.*%sy" | tail -1)
var=(${var})
user=${var[1]/\%us,/}
sys=${var[2]/\%sy/}
total=$(bc <<< "$user + $sys")
echo '#cpu = '$total


também não conheço uma forma boa de extrair essa informação usando apenas os
recursos do sistema

___
On Tue, Aug 26, 2008 at 04:01:06PM -, fernando_gottlieb wrote:
> Olá pessoal.
> Estive procurando uma maneira de obter o consumo de CPU e esbarrei em
> características do top, a primeira leitura é sempre a mesma.
> Continuando a procura por outra forma de obter este resultado,
> encontrei vários trechos de códigos mas nenhum conclusivo.
> Depois de algumas tentativas, consegui o que segue abaixo.
> Espero que ajude alguém.
> Gostaria, se possivel, de pedir sugestões para otimizá-lo.
> Segue o código:
> 
> ### Escreve dados sobre uso do processador
> # Obtem duas leituras do comando top (top -b -d 0.5 -n2)
> # Separa apenas as linhas onde aparece o uso da cpu (| grep 'Cpu(s)')
> # Retira as strings contidas no inicio do texto contando dois espacos
> (| cut -f2- -d ' ')
> # Separa os dois primeiros parametros cortando os primeiros 18
> caracteres (| cut -c1-18)
> # Substitui as strings %, u, s e y por espacos, deixando apenas as
> virugulas (| tr '%usy' ' ')
> var=$(top -b -d 0.5 -n2 | grep 'Cpu(s)' | cut -f2- -d ' ' | cut -c1-18
> | tr '%usy' ' ')
> # Obtem o dado anterior a terceira virgula = user
> user=$(echo $var | cut -d, -f3)
> # Obtem o dado anterior a quarda virgula = sys
> sys=$(echo $var | cut -d, -f4)
> # Depois de obter o uso de cpu para usuario (%us = $user) e sistema
> (%sy = $sys)
> # faz a soma das variaveis usando bc (basic calculator) retirando o
> numero sem o ponto
> total=$(echo "$user + $sys" | bc | cut -d. -f1)
> echo '#cpu = '$total
> 
> Abraços
> 
> Fernando
> 
> 
> 
> 
> 
> -
> 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: [EMAIL PROTECTED]
> -
> 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
> 
___


Re: [shell-script] Consumo de CPU

2008-08-26 Por tôpico Raul Libório
O mpstat encontrei instalado, nao sei se é por causa do SO que tem o
kernel já customizado ( um EOS do BRMA ).
--

Raul Libório
UniJorge Redes - www.redesfja.com
rauhmarutsªhotmailºcom
Linux user#581

Dúvidas: enviar para /dev/null



2008/8/26 jimmy <[EMAIL PROTECTED]>:
> __
>
> usando mais ou menos o seu script fiz um assim:
>
> var=$(top -b -d 0.5 -n2 | grep -o "Cpu(s):.*%sy" | tail -1)
> var=(${var})
> user=${var[1]/\%us,/}
> sys=${var[2]/\%sy/}
> total=$(bc <<< "$user + $sys")
> echo '#cpu = '$total
>
> também não conheço uma forma boa de extrair essa informação usando apenas os
> recursos do sistema
>
> __
>
> On Tue, Aug 26, 2008 at 04:01:06PM -, fernando_gottlieb wrote:
>> Olá pessoal.
>> Estive procurando uma maneira de obter o consumo de CPU e esbarrei em
>> características do top, a primeira leitura é sempre a mesma.
>> Continuando a procura por outra forma de obter este resultado,
>> encontrei vários trechos de códigos mas nenhum conclusivo.
>> Depois de algumas tentativas, consegui o que segue abaixo.
>> Espero que ajude alguém.
>> Gostaria, se possivel, de pedir sugestões para otimizá-lo.
>> Segue o código:
>>
>> ### Escreve dados sobre uso do processador
>> # Obtem duas leituras do comando top (top -b -d 0.5 -n2)
>> # Separa apenas as linhas onde aparece o uso da cpu (| grep 'Cpu(s)')
>> # Retira as strings contidas no inicio do texto contando dois espacos
>> (| cut -f2- -d ' ')
>> # Separa os dois primeiros parametros cortando os primeiros 18
>> caracteres (| cut -c1-18)
>> # Substitui as strings %, u, s e y por espacos, deixando apenas as
>> virugulas (| tr '%usy' ' ')
>> var=$(top -b -d 0.5 -n2 | grep 'Cpu(s)' | cut -f2- -d ' ' | cut -c1-18
>> | tr '%usy' ' ')
>> # Obtem o dado anterior a terceira virgula = user
>> user=$(echo $var | cut -d, -f3)
>> # Obtem o dado anterior a quarda virgula = sys
>> sys=$(echo $var | cut -d, -f4)
>> # Depois de obter o uso de cpu para usuario (%us = $user) e sistema
>> (%sy = $sys)
>> # faz a soma das variaveis usando bc (basic calculator) retirando o
>> numero sem o ponto
>> total=$(echo "$user + $sys" | bc | cut -d. -f1)
>> echo '#cpu = '$total
>>
>> Abraços
>>
>> Fernando
>>
>>
>>
>> 
>>
>> --
>> 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: [EMAIL PROTECTED]
>> --
>> 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
>>
> __
> 


[shell-script] substituir

2008-08-26 Por tôpico Elvio Barbalho
Senhores boa tarde, estou com o seguinte problema:

tenho um arquivo assim:

1
2
3
4
5
6
7
8
9
10

quero que ele saia assim:

1-2
3-4
5-6
7-9
9-10


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



Re: [shell-script] substituir

2008-08-26 Por tôpico Tiago Barcellos Peczenyj
Teste essa solução
$ seq 10 | paste -d\- - -

ou

$ paste -d\- - - arquivo > novo.arquivo

2008/8/26 Elvio Barbalho <[EMAIL PROTECTED]>:
> Senhores boa tarde, estou com o seguinte problema:
>
> tenho um arquivo assim:
>
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> 10
>
> quero que ele saia assim:
>
> 1-2
> 3-4
> 5-6
> 7-9
> 9-10
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"


Re: [shell-script] Consumo de CPU

2008-08-26 Por tôpico jimmy
___


correto, aqui faz parte do pacote sysstat, tanto o mpstat quanto o sar já
mencionado, em versões anteriores do SO que uso não lembro de tê-los como 
padrão.

usando esses comandos fica simples a captura do consumo da cpu via script.

___
On Tue, Aug 26, 2008 at 03:18:53PM -0300, Raul Libório wrote:
> O mpstat encontrei instalado, nao sei se é por causa do SO que tem o
> kernel já customizado ( um EOS do BRMA ).
> --
> 
> Raul Libório
> UniJorge Redes - www.redesfja.com
> rauhmarutsªhotmailºcom
> Linux user#581
> 
> Dúvidas: enviar para /dev/null
> 
> 
> 
> 2008/8/26 jimmy <[EMAIL PROTECTED]>:
> > __
> >
> > usando mais ou menos o seu script fiz um assim:
> >
> > var=$(top -b -d 0.5 -n2 | grep -o "Cpu(s):.*%sy" | tail -1)
> > var=(${var})
> > user=${var[1]/\%us,/}
> > sys=${var[2]/\%sy/}
> > total=$(bc <<< "$user + $sys")
> > echo '#cpu = '$total
> >
> > também não conheço uma forma boa de extrair essa informação usando apenas os
> > recursos do sistema
> >
> > __
> >
> > On Tue, Aug 26, 2008 at 04:01:06PM -, fernando_gottlieb wrote:
> >> Olá pessoal.
> >> Estive procurando uma maneira de obter o consumo de CPU e esbarrei em
> >> características do top, a primeira leitura é sempre a mesma.
> >> Continuando a procura por outra forma de obter este resultado,
> >> encontrei vários trechos de códigos mas nenhum conclusivo.
> >> Depois de algumas tentativas, consegui o que segue abaixo.
> >> Espero que ajude alguém.
> >> Gostaria, se possivel, de pedir sugestões para otimizá-lo.
> >> Segue o código:
> >>
> >> ### Escreve dados sobre uso do processador
> >> # Obtem duas leituras do comando top (top -b -d 0.5 -n2)
> >> # Separa apenas as linhas onde aparece o uso da cpu (| grep 'Cpu(s)')
> >> # Retira as strings contidas no inicio do texto contando dois espacos
> >> (| cut -f2- -d ' ')
> >> # Separa os dois primeiros parametros cortando os primeiros 18
> >> caracteres (| cut -c1-18)
> >> # Substitui as strings %, u, s e y por espacos, deixando apenas as
> >> virugulas (| tr '%usy' ' ')
> >> var=$(top -b -d 0.5 -n2 | grep 'Cpu(s)' | cut -f2- -d ' ' | cut -c1-18
> >> | tr '%usy' ' ')
> >> # Obtem o dado anterior a terceira virgula = user
> >> user=$(echo $var | cut -d, -f3)
> >> # Obtem o dado anterior a quarda virgula = sys
> >> sys=$(echo $var | cut -d, -f4)
> >> # Depois de obter o uso de cpu para usuario (%us = $user) e sistema
> >> (%sy = $sys)
> >> # faz a soma das variaveis usando bc (basic calculator) retirando o
> >> numero sem o ponto
> >> total=$(echo "$user + $sys" | bc | cut -d. -f1)
> >> echo '#cpu = '$total
> >>
> >> Abraços
> >>
> >> Fernando
> >>
> >>
> >>
> >> 
> >>
> >> --
> >> 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: [EMAIL PROTECTED]
> >> --
> >> 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
> >>
> > __
> > 
> 
> 
> 
> -
> 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: [EMAIL PROTECTED]
> -
> 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
> 
___


Re: [shell-script] substituir

2008-08-26 Por tôpico jimmy
___

$ seq 10 | xargs -l2 | tr ' ' -

mas a opção anterior é bem melhor.

___
On Tue, Aug 26, 2008 at 03:29:43PM -0300, Tiago Barcellos Peczenyj wrote:
> Teste essa solução
> $ seq 10 | paste -d\- - -
> 
> ou
> 
> $ paste -d\- - - arquivo > novo.arquivo
> 
> 2008/8/26 Elvio Barbalho <[EMAIL PROTECTED]>:
> > Senhores boa tarde, estou com o seguinte problema:
> >
> > tenho um arquivo assim:
> >
> > 1
> > 2
> > 3
> > 4
> > 5
> > 6
> > 7
> > 8
> > 9
> > 10
> >
> > quero que ele saia assim:
> >
> > 1-2
> > 3-4
> > 5-6
> > 7-9
> > 9-10
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > 
> 
> 
> 
> -- 
> Tiago B Peczenyj
> Linux User #405772
> 
> http://peczenyj.blogspot.com/
> "what does not kill us makes us stronger"
> 
> 
> 
> -
> 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: [EMAIL PROTECTED]
> -
> 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
> 
___


Re: [shell-script] Consumo de CPU

2008-08-26 Por tôpico MrBiTS
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

> correto, aqui faz parte do pacote sysstat, tanto o mpstat quanto o sar já
> mencionado, em versões anteriores do SO que uso não lembro de tê-los como 
> padrão.
> usando esses comandos fica simples a captura do consumo da cpu via script.

Perdoem a saida do assunto principal, mas cabe um comentário que deve
ser no mínimo educativo para a maioria da lista.

Estranha essa colocação "em versões anteriores do SO". Você não quer
dizer, aí, distribuição ? A sua distribuição Linux pode não ter
empacotado um determinado programa ou produto, ou ele pode não ser
instalado por padrão, mas dizer que "o SO não possui tal produto" é
errado, visto que o SEU SO Linux, que você instalou, que roda na sua
máquina, pode ter virtualmente o produto que você quiser. Basta procurar
o, no caso, sysstat, baixar seus fontes e compilá-lo. Não quer compilar,
baixe os binários, mas jamais afirme que "tal versão do SO não tem tal
pacote".

Isto posto, uptime pode ser um bom comando para definir a carga da CPU.

- --

Um abraço

.0. MrBiTs - [EMAIL PROTECTED]
..0 GnuPG  -
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAki0UGcACgkQrDdxWm3R8Ybi2QCdGa5jHTZuDWEoqz42DmoPQrPM
MQ0AoIiyn4lCuvLlhiy1hBcRb25Fn6HS
=ySB6
-END PGP SIGNATURE-


Re: [shell-script] substituir

2008-08-26 Por tôpico Elvio Barbalho
Thiago sua sugestão não funcionou pois estou trabalhando num sistema
Solaris, testei num Linux e funcionou perfeitamente.

Jimmy sua sugestão funcionou perfeitamente, agora supondo que o arquivo
tenha uma quantidade impar de linhas, seguindo sua lógica como eu faria para
o aquivo ficar assim:
1
2
3
4
5

1-2
3-4
5-5

2008/8/26 jimmy <[EMAIL PROTECTED]>

>   __
>
> $ seq 10 | xargs -l2 | tr ' ' -
>
> mas a opção anterior é bem melhor.
>
> __
>
> On Tue, Aug 26, 2008 at 03:29:43PM -0300, Tiago Barcellos Peczenyj wrote:
> > Teste essa solução
> > $ seq 10 | paste -d\- - -
> >
> > ou
> >
> > $ paste -d\- - - arquivo > novo.arquivo
> >
> > 2008/8/26 Elvio Barbalho <[EMAIL PROTECTED]
> >:
> > > Senhores boa tarde, estou com o seguinte problema:
> > >
> > > tenho um arquivo assim:
> > >
> > > 1
> > > 2
> > > 3
> > > 4
> > > 5
> > > 6
> > > 7
> > > 8
> > > 9
> > > 10
> > >
> > > quero que ele saia assim:
> > >
> > > 1-2
> > > 3-4
> > > 5-6
> > > 7-9
> > > 9-10
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> >
> >
> >
> > --
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > http://peczenyj.blogspot.com/
> > "what does not kill us makes us stronger"
> >
> > 
> >
> > --
> > 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: [EMAIL 
> > PROTECTED]
> > --
> > 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
> >
> __
>  
>


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



Re: [shell-script] Consumo de CPU

2008-08-26 Por tôpico jimmy
___


realmente mencionar SO ao invés de distribuição atrapalhou a interpretação do
meu comentário.

___
On Tue, Aug 26, 2008 at 03:50:15PM -0300, MrBiTS wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> > correto, aqui faz parte do pacote sysstat, tanto o mpstat quanto o sar já
> > mencionado, em versões anteriores do SO que uso não lembro de tê-los como 
> > padrão.
> > usando esses comandos fica simples a captura do consumo da cpu via script.
> 
> Perdoem a saida do assunto principal, mas cabe um comentário que deve
> ser no mínimo educativo para a maioria da lista.
> 
> Estranha essa colocação "em versões anteriores do SO". Você não quer
> dizer, aí, distribuição ? A sua distribuição Linux pode não ter
> empacotado um determinado programa ou produto, ou ele pode não ser
> instalado por padrão, mas dizer que "o SO não possui tal produto" é
> errado, visto que o SEU SO Linux, que você instalou, que roda na sua
> máquina, pode ter virtualmente o produto que você quiser. Basta procurar
> o, no caso, sysstat, baixar seus fontes e compilá-lo. Não quer compilar,
> baixe os binários, mas jamais afirme que "tal versão do SO não tem tal
> pacote".
> 
> Isto posto, uptime pode ser um bom comando para definir a carga da CPU.
> 
> - --
> 
> Um abraço
> 
> .0. MrBiTs - [EMAIL PROTECTED]
> ..0 GnuPG  -
> http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
> 000 http://www.mrbits.com.br
> 
> 
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.9 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iEYEARECAAYFAki0UGcACgkQrDdxWm3R8Ybi2QCdGa5jHTZuDWEoqz42DmoPQrPM
> MQ0AoIiyn4lCuvLlhiy1hBcRb25Fn6HS
> =ySB6
> -END PGP SIGNATURE-
> 
> 
> 
> -
> 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: [EMAIL PROTECTED]
> -
> 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
> 
___


Re: [shell-script] substituir

2008-08-26 Por tôpico jimmy
___

usando o sed:

seq 1 5 | xargs -l2 | sed '$!s/ /-/;$s/.*/&-&/'

puramente em shell fica complicado.


i=1
seq 1 5 | while true; do
  read 'x' || exec echo $n
  n=$x
  if [ $(expr $i % 2) -eq 1 ]; then
echo -n "$x-"
  else
echo $x
  fi
  let i++
done



___
On Tue, Aug 26, 2008 at 03:58:57PM -0300, Elvio Barbalho wrote:
> Thiago sua sugestão não funcionou pois estou trabalhando num sistema
> Solaris, testei num Linux e funcionou perfeitamente.
> 
> Jimmy sua sugestão funcionou perfeitamente, agora supondo que o arquivo
> tenha uma quantidade impar de linhas, seguindo sua lógica como eu faria para
> o aquivo ficar assim:
> 1
> 2
> 3
> 4
> 5
> 
> 1-2
> 3-4
> 5-5
> 
> 2008/8/26 jimmy <[EMAIL PROTECTED]>
> 
> >   __
> >
> > $ seq 10 | xargs -l2 | tr ' ' -
> >
> > mas a opção anterior é bem melhor.
> >
> > __
> >
> > On Tue, Aug 26, 2008 at 03:29:43PM -0300, Tiago Barcellos Peczenyj wrote:
> > > Teste essa solução
> > > $ seq 10 | paste -d\- - -
> > >
> > > ou
> > >
> > > $ paste -d\- - - arquivo > novo.arquivo
> > >
> > > 2008/8/26 Elvio Barbalho <[EMAIL PROTECTED]
> > >:
> > > > Senhores boa tarde, estou com o seguinte problema:
> > > >
> > > > tenho um arquivo assim:
> > > >
> > > > 1
> > > > 2
> > > > 3
> > > > 4
> > > > 5
> > > > 6
> > > > 7
> > > > 8
> > > > 9
> > > > 10
> > > >
> > > > quero que ele saia assim:
> > > >
> > > > 1-2
> > > > 3-4
> > > > 5-6
> > > > 7-9
> > > > 9-10
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Tiago B Peczenyj
> > > Linux User #405772
> > >
> > > http://peczenyj.blogspot.com/
> > > "what does not kill us makes us stronger"
> > >
> > > 
> > >
> > > --
> > > 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: [EMAIL 
> > > PROTECTED]
> > > --
> > > 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
> > >
> > __
> >  
> >
> 
> 
> [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: [EMAIL PROTECTED]
> -
> 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
> 
___


Re: [shell-script] substituir

2008-08-26 Por tôpico Fabiano Caixeta Duarte
2008/8/26 Elvio Barbalho <[EMAIL PROTECTED]>:
> Thiago sua sugestão não funcionou pois estou trabalhando num sistema
> Solaris, testei num Linux e funcionou perfeitamente.
>
> Jimmy sua sugestão funcionou perfeitamente, agora supondo que o arquivo
> tenha uma quantidade impar de linhas, seguindo sua lógica como eu faria para
> o aquivo ficar assim:
> 1
> 2
> 3
> 4
> 5
>
> 1-2
> 3-4
> 5-5

Continuo sentindo falta das tentativas realizadas pelos
"perguntadores" para construção do conhecimento.

last=$(wc -l arquivo | cut -d" " -f1) #Número da última linha do arquivo
[ $((last%2)) -eq 1 ] && sed ${last}p arquivo # se última linha é
ímpar, duplique-a

1
2
3
4
5
5

O resto você já sabe ;)


-- 
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP


Re: [shell-script] substituir

2008-08-26 Por tôpico Elvio Barbalho
Jimmy funcionou blz aki, agora se não for muito não entendi nada o que vc
fez no sed teria como me explicar

2008/8/26 jimmy <[EMAIL PROTECTED]>

>   __
>
> usando o sed:
>
> seq 1 5 | xargs -l2 | sed '$!s/ /-/;$s/.*/&-&/'
>
> puramente em shell fica complicado.
>
> i=1
> seq 1 5 | while true; do
> read 'x' || exec echo $n
> n=$x
> if [ $(expr $i % 2) -eq 1 ]; then
> echo -n "$x-"
> else
> echo $x
> fi
> let i++
> done
>
> __
>
> On Tue, Aug 26, 2008 at 03:58:57PM -0300, Elvio Barbalho wrote:
> > Thiago sua sugestão não funcionou pois estou trabalhando num sistema
> > Solaris, testei num Linux e funcionou perfeitamente.
> >
> > Jimmy sua sugestão funcionou perfeitamente, agora supondo que o arquivo
> > tenha uma quantidade impar de linhas, seguindo sua lógica como eu faria
> para
> > o aquivo ficar assim:
> > 1
> > 2
> > 3
> > 4
> > 5
> >
> > 1-2
> > 3-4
> > 5-5
> >
> > 2008/8/26 jimmy <[EMAIL PROTECTED] >
> >
> > > __
> > >
> > > $ seq 10 | xargs -l2 | tr ' ' -
> > >
> > > mas a opção anterior é bem melhor.
> > >
> > > __
> > >
> > > On Tue, Aug 26, 2008 at 03:29:43PM -0300, Tiago Barcellos Peczenyj
> wrote:
> > > > Teste essa solução
> > > > $ seq 10 | paste -d\- - -
> > > >
> > > > ou
> > > >
> > > > $ paste -d\- - - arquivo > novo.arquivo
> > > >
> > > > 2008/8/26 Elvio Barbalho <[EMAIL PROTECTED]
> 
>
> > > >:
> > > > > Senhores boa tarde, estou com o seguinte problema:
> > > > >
> > > > > tenho um arquivo assim:
> > > > >
> > > > > 1
> > > > > 2
> > > > > 3
> > > > > 4
> > > > > 5
> > > > > 6
> > > > > 7
> > > > > 8
> > > > > 9
> > > > > 10
> > > > >
> > > > > quero que ele saia assim:
> > > > >
> > > > > 1-2
> > > > > 3-4
> > > > > 5-6
> > > > > 7-9
> > > > > 9-10
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram removidas]
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Tiago B Peczenyj
> > > > Linux User #405772
> > > >
> > > > http://peczenyj.blogspot.com/
> > > > "what does not kill us makes us stronger"
> > > >
> > > > 
> > > >
> > > > --
> > > > 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: [EMAIL 
> > > > PROTECTED]
> 
> > > > --
> > > > 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
> > > >
> > > __
> > >
> > >
> >
> >
> > [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: [EMAIL 
> > PROTECTED]
> > --
> > 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
> >
> __
>  
>


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