[shell-script] Cifra de César
-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
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
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
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
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
___ 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
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
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
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
___ 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
___ $ 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
-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
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
___ 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
___ 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/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
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]