Re: [shell-script] selecionar substring

2006-10-02 Por tôpico Herbert Alexander Faleiros
On Monday 02 October 2006 17:57, Celso Viana wrote:
> como é que pega somente o que está
> dentro dos parenteses (endereço IP)? 

sed -r 's/.+\((.+)\).+/\1/g'



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] apagar arquivos

2006-10-04 Por tôpico Herbert Alexander Faleiros
On Thursday 05 October 2006 00:52, Flavio Junior wrote:
> o find tenta entrar nele para continuar sua busca

Se quiser pode usar o xargs (livre desse problema):
$ find /root/br -type d -iname 'a*' | xargs rm -Rf {}


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Filtrar parte da linha

2006-10-05 Por tôpico Herbert Alexander Faleiros
> ${x#*\"} remove a final.

Ops, é ${y%\"}.

Enfim, é isso aqui:

$ cat in
UCD-SNMP-MIB::ucdavis.53.101.1 = STRING: "Thu Oct  5 16:04:24 BRT 2006"

$ x=`cat in`; y=`echo ${x#*\"}`; echo ${y%\"}
Thu Oct 5 16:04:24 BRT 2006


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Filtrar parte da linha

2006-10-05 Por tôpico Herbert Alexander Faleiros
On Thursday 05 October 2006 16:08, weder_feliciano wrote:
> UCD-SNMP-MIB::ucdavis.53.101.1 = STRING: "Thu Oct  5 16:04:24 BRT 2006"

Em shell puro:

${x#*\"} e ${y%\"}

Onde x é a entrada, ${x#*\"} retorna o que tiver depois da 1a aspas dupla e 
${x#*\"} remove a final.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Vim Colorido

2006-10-08 Por tôpico Herbert Alexander Faleiros
On Sunday 08 October 2006 20:16, Rafael Leandro wrote:
>  tenho que digitar :syn on. Quando fecho o editor e abro novamente tenho que 
>  executar o mesmo comando. Não tem como fazê-lo ficar permanente!

Tem sim! faz o seguinte:

$ echo syntax on >> ~/.vimrc


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Remover linhas do arquivo

2005-11-29 Por tôpico Herbert Alexander Faleiros
On Tuesday 29 November 2005 21:45, weberlf wrote:
[cut]
> necessito remover as linhas que iniciam por ALTER TABLE com as linhas que 
> seguem logo abaixo 
[cut]

Olá,

um tempo atrás ví uma dúvida semelhante à sua na sed-br, resolvi com uma 
"gambiarra" semelhante à descrita pelo Tiago (com o tr nas quebras de linha), 
mas nosso amigo Thobias ([EMAIL PROTECTED]) postou uma solução mais 
"elegante" (só com o sed), olha só (resolve seu problema):

$ cat teste.txt
[...]

CREATE INDEX idx01_tmor_2911_fat_hist ON tmor_2911_fat_hist USING
btree (seq_fatura_ori);

ALTER TABLE ONLY tmor_2911_lancto_cta_obs
ADD CONSTRAINT cst50_tmor_2911_lancto_cta_obs FOREIGN KEY
(seq_lancto_cta_cc) REFERENCES tmor_2911_lancto_cta_cc(seq_lanc
to_cta_cc) MATCH FULL;

$ sed '/ALTER/,/\;/{s/ALTER.*//p;s/.*\;//p;d;}' teste.txt
[...]

CREATE INDEX idx01_tmor_2911_fat_hist ON tmor_2911_fat_hist USING
btree (seq_fatura_ori);


A descrição do que foi feito acima (pelo próprio Thobias):
http://br.groups.yahoo.com/group/sed-br/message/3474

Até,

Herbert.


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Shell email

2005-12-01 Por tôpico Herbert Alexander Faleiros
On Thursday 01 December 2005 17:08, Emerson Domingues Souto wrote:
[cut]
> use:  if [ "$OS" = "Linux" ] ; then
> observe que coloquei aspas na variavel OS e espaço em branco após o colchete

Olá,

não faz diferença o espaço para separar as instruções (faz diferença dentro do 
if), ou seja, tanto faz "];then" ou "]; then" ou "] ; then", ou ainda separar 
e colocar o then na próxima linha inutilizando o ";". Sobre as aspas duplas 
(ou sabe-se lá o nome correto que isso tem) **neste caso** também não é 
necessário o seu uso, nem em $OS **e** nem em Linux.

É só testar:

[ `uname -s` = Linux ] && echo OK
if [ `uname -s` = Linux ]; then echo ok; fi
test `uname -s` = Linux && echo OK
OS=`uname -s`; if [ $OS = Linux ]; then echo OK; fi

Teríamos problemas caso $OS retornasse algo como "Ruindous XP Ultra Mega 
Turbo" ou a  comparação fosse feita com algo semelhante (ao invés de Linux), 
mas como $OS provém de um `uname -s` é bem improvável que isto ocorra.

Até,

Herbert.


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Suprimir mensagem do tar

2005-12-02 Por tôpico Herbert Alexander Faleiros
On Friday 02 December 2005 10:49, Renato L. Sousa wrote:
[cut]
> gostaria de suprimir a mensagem "tar: Removing leading `/' from member
> names" que o tar exibe toda a vez q cria um arquivo.  Tentei :
[cut]
> tar -zcf teste.tar.gz /etc > /dev/null
> tar -zcf teste.tar.gz /et||c 2 > /dev/null
> tar -zcf teste.tar.gz /etc |2>&1| > /dev/null
[cut]
> Todos esses comandos continuam a ecoar na tela as mensagens do tar.
[cut]
> Alguem tem alguma luz 

Olá,

Faz assim:

tar cfz etc.tar.gz /etc &>/dev/null


Até,

Herbert.


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Shell email

2005-12-02 Por tôpico Herbert Alexander Faleiros
On Friday 02 December 2005 12:53, Emerson Domingues Souto wrote:
[cut]
> é bom já começar a fazer prevendo essas situações, sem vícios errados.
[cut]

"vícios errados" para mim é alguém começar já aprendendo ERRADO.

Enfatizei MAIS DE UMA VEZ em minha mensagem que NESTE CASO as aspas poderiam 
ser omitidas e até citei um caso onde isso incorreria em erro e o porque do 
erro (releia com mais calma o e-mail que enviei).


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Shell email

2005-12-05 Por tôpico Herbert Alexander Faleiros
On Monday 05 December 2005 11:43, Emerson Domingues Souto wrote:
> o colega Herbert parece não prestar muita atenção a essas práticas

Se querem gerar código redundante/desnecessário é com vocês.

Por que eu aplicaria algo desnecessáriamente se sei o que estou fazendo?

E igual aquela história de executar rm -rf para qualquer coisa ou dizer que 
sei que algo é um diretório porque apareceu "azul" aqui no meu terminal.

Putz, isso já tá virando flame (fico por aqui)...


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Substituir uma linha por duas

2005-12-15 Por tôpico Herbert Alexander Faleiros
On Thursday 15 December 2005 13:00, Eriberto wrote:
[cut]
> Gostaria de de substituir a linha
> cebola
> por
> cebola
> alface
[...]
> Existe uma solução com SED para isso?


Sim, olha só:

$ cat teste.txt
tomate
cebola
alho
laranja

$ sed -r 's/(cebola)/\1\nalface/' teste.txt
tomate
cebola
alface
alho
laranja

Que substitui (s) cebola, por cebola (\1), acrescenta uma quebra de linha (\n) 
e adiciona alface.

Até,

Herbert.


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Problema ao tentar setar valores de uma variavel em outra varialvel.

2005-12-15 Por tôpico Herbert Alexander Faleiros
On Friday 16 December 2005 03:56, Rick Doiche wrote:
[cut]
> n=1
> var$n=1
[cut]

Olá,

tenta assim:

eval var$n=1

Olha só como fica:

$ echo var$n
var1

$ echo $var$n
1

Ou então:

n=1
var[$n]=1

que retorna o seguinte:

$ echo var[$n]
var[1]

$ echo ${var[$n]}
1

Até,

Herbert.





-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] O problema da virgula no SQL...

2005-12-15 Por tôpico Herbert Alexander Faleiros
On Thursday 15 December 2005 20:47, Reinaldo Carvalho wrote:
[cut]
> Gostaria de saber porque o sed abaixo nao funcionou?
[...]
> sed -e 's/,\n)/\n)/g'
[cut]

A explicação tá aqui:

http://aurelio.net/sed/sed-HOWTO.html#toc12

até,

Herbert.


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: RES: FW: [shell-script] Inserir linha em arquivo

2005-12-29 Por tôpico Herbert Alexander Faleiros
On Thursday 29 December 2005 16:51, Fabio Henrique wrote:
> não consigo descer uma linha para acrescentar a próxima linha.

$ cat teste
verde
cinza
amarelo
vermelho
azul
preto
branco

$ cat teste | sed -r 's/(azul)/\1\nnova linha/'
verde
cinza
amarelo
vermelho
azul
nova linha
preto
branco


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Remover espaco em branco variavel

2006-01-07 Por tôpico Herbert Alexander Faleiros
On Saturday 07 January 2006 21:33, Leandro Costa wrote:
> ip="   10.1.1.1 "
> Como faco para remover os espacos em branco de dentro da variavel $ip ?

$ ip="   10.1.1.1 "; echo $ip | tr -d ' '
10.1.1.1


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Troca de letras

2006-01-09 Por tôpico Herbert Alexander Faleiros
On Tuesday 03 January 2006 11:25, Gentil de Bortoli Jr wrote:
> Ah, sim. Só para constar, o script abaixo não está completo, pois falta
> fazer duas verificações. Da forma como está, ele não funciona
> corretamente com as extremidades (A com "-" e Z com "+").

Quem estiver interessado em miores detalhes deste assunto (inclusive numa 
implementação não muito rigorosa, mas funcional desta cifra de substituição 
em bash) dêem uma olhada neste artigo que escrevi há alguns meses, mas 
disponibilizei somente agora em meu site:

http://faleiros.eti.br/cripto/intro1
http://faleiros.eti.br/system/files?file=shiftcipher


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Problemas com Shell Code

2006-01-11 Por tôpico Herbert Alexander Faleiros
On Thursday 12 January 2006 00:57, alonso.feliciano wrote:
[cut]
> if $horas = 14
[cut]

O problema está no seu "if", tenta assim:

$ clear; date; echo Que horas sao?; read horas; \
[ ${horas} = 14 ] && echo Sao 14 horas

Ou (de forma mais didática):

clear
date

echo "Que horas sao?"
read horas

if [ "$horas" = "14" ]; then
  echo "Sao 14 horas"
fi

Até,

Herbert.


-
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
-
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] gerar string

2006-01-24 Por tôpico Herbert Alexander Faleiros
On Tuesday 24 January 2006 22:27, Tiago Barcellos Peczenyj wrote:
> Aqui há um exemplo para gerar uma senha com 8 digitos
> http://www.piterpunk.hpg.ig.com.br/dicas.html#30

A dica do Punk é bem legal, mas para quem não tem o metamail instalado (por 
causa do mimencode), algo do tipo resolve o problema:


#!/bin/sh

ALFA=abcdefghijklmnopqrstuvwxyz

# Quantas senhas
QUANTIDADE=8

# Comprimento das senhas
COMPRIMENTO=6

for j in `seq $QUANTIDADE`; do
  for i in `seq $COMPRIMENTO`; do
SENHA=$SENHA${ALFA:`expr $RANDOM % 26`:1};
  done

  echo "fulano$j;$SENHA"
  echo "fulano$j;$SENHA" >> saida.txt

  SENHA=
done

Saída do script (no formato que sugeriu, ou seja, "usuário;senha"):

$ ./senhas
fulano1;pxfweu
fulano2;tbsaqz
fulano3;xnwmul
fulano4;jsiqhp
fulano5;nemclb
fulano6;aiqgpf
fulano7;emclbj
fulano8;iygxfv

Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] gerar string

2006-01-25 Por tôpico Herbert Alexander Faleiros
On Wednesday 25 January 2006 11:28, Celso Viana wrote:
> Já tenho o arquivo com mais de 300 usuários e gostaria apenas de
> preencher o campo de senha; terei que usar o sed? no arquivo real, com
> delimitador ";" o campo de senha é o 4º campo.

Ok, vê se é algo do tipo que precisa:

$ ./senhas

$ cat lista.orig | head -5
sujeito001;campo_2;campo_3;senha;campo_5;campo_6;campo_n
sujeito002;campo_2;campo_3;senha;campo_5;campo_6;campo_n
sujeito003;campo_2;campo_3;senha;campo_5;campo_6;campo_n
sujeito004;campo_2;campo_3;senha;campo_5;campo_6;campo_n
sujeito005;campo_2;campo_3;senha;campo_5;campo_6;campo_n

$ cat lista.new | head -5
sujeito001;campo_2;campo_3;emdltk;campo_5;campo_6;campo_n
sujeito002;campo_2;campo_3;hpfoem;campo_5;campo_6;campo_n
sujeito003;campo_2;campo_3;kaiyhx;campo_5;campo_6;campo_n
sujeito004;campo_2;campo_3;udtbra;campo_5;campo_6;campo_n
sujeito005;campo_2;campo_3;xnwmud;campo_5;campo_6;campo_n

$ cat senhas
#!/bin/sh

# Ignore este laço, só o utilizei p/ gerar o arquivo
# com os dados (simular o formato que você descreveu).
for i in `seq 300`; do
  printf 'sujeito%03d;campo_2;campo_3;senha;campo_5;campo_6;campo_n\n' $i
done >> lista.orig

ALFA=abcdefghijklmnopqrstuvwxyz

# Quantas senhas
QUANTIDADE=8

# Comprimento das senhas
COMPRIMENTO=6

for j in `cat lista.orig`; do
  for i in `seq $COMPRIMENTO`; do
SENHA=$SENHA${ALFA:`expr $RANDOM % 26`:1};
  done

  echo $j | sed -r 's/^([^;]+;[^;]+;[^;]+);[^;.]+;(.*$)/\1;'$SENHA';\2/' >> 
lista.new

  SENHA=
done

Até,

Herbert.

PS1 - só adaptei o script que já tinha feito.

PS2 - creio que dê para enxugar essa ER, no caso ela pega os três primeiros 
campos (delimitadors por ';') e depois do quinto em diante, inserindo a senha 
no quarto campo.

PS3 - sobre $RANDOM: http://www.tldp.org/LDP/abs/html/randomvar.html


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] script com lynx

2006-02-01 Por tôpico Herbert Alexander Faleiros
Segue um pequeno exemplo em shell-script que talvez te ajude a ter idéias 
(lynx/dump com pesquisa): http://faleiros.eti.br/translate


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Variável recebendo outra

2006-02-01 Por tôpico Herbert Alexander Faleiros
On Wednesday 01 February 2006 23:09, Adauto Yahoo wrote:
> RA= test cut -c2-8 "$USER";   <-- aqui ela teria que ser tratada dessa
> forma 1234567 sem o RA ( só que está dando erro! )

Tenta assim:

RA=`echo $USER | tr -d A-Z`

Ou então (mais eficiente):

RA=`echo $USER | cut -c3-`


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] trocar linha arquivos

2006-07-03 Por tôpico Herbert Alexander Faleiros
Cleber J Santos wrote:
[cut]
> sed -i '/usr/{s/^/#/;}' lista) só que ele me adicionou o '#' em todas as
> linhas que começam com 'usr/', quando na verdade eu queria que ele o fizesse
> apenas na linha que encontra o 'usr/' e não os demais
[cut]

tenta assim:

$ sed -r 's/(^usr)/#\1/g' lista
./
#usr/
#usr/blablalba
#usr/cleber
var/



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] df e du com resultados diferentes

2006-07-03 Por tôpico Herbert Alexander Faleiros
On Monday 03 July 2006 15:08, Marcos wrote:
[cut]
> O /dados com 68G usados, rodei um du -h no /dados pra verificar os
> diretorios mais usados e ele me retorna q só tem 24GB usados.
[cut] 

tenta assim:

$ df -H | grep tralhas
/dev/hda3   54G50G   1.2G  98% /mnt/tralhas

$ du -s --si /mnt/tralhas
50G /mnt/tralhas

$ man df
[cut]
   -H, --si
  likewise, but use powers of 1000 not 1024
[cut]

$ man du
[cut]
   --si   like -h, but use powers of 1000 not 1024
[cut]



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Re: formatacao de um arquivo

2006-07-06 Por tôpico Herbert Alexander Faleiros
On Thursday 06 July 2006 16:33, Rafael Sanches wrote:
[cut]
> mudar o 4º digito para 3 ou seja muda de 0 para 3.
[cut]

$ cat lista
14505230938800941627220060730004912481000150008512C
14505248938814460158920060730004923128000150008512C
14505234611810038825120060730004933243000150008512C
14505724472800072098020060730004943568000150008512C
1450573100280096225812006073000495256500068512C
14505729837814945544020060730004963764000150008512C
14505732259800630209820060730004973197000150008512C

$ for i in `cat lista`;do echo ${i:0:3}3${i:4}; done
14535230938800941627220060730004912481000150008512C
14535248938814460158920060730004923128000150008512C
14535234611810038825120060730004933243000150008512C
14535724472800072098020060730004943568000150008512C
1453573100280096225812006073000495256500068512C
14535729837814945544020060730004963764000150008512C
14535732259800630209820060730004973197000150008512C

$ sed -r 's/(^...).(.+)/\13\2/g' lista
14535230938800941627220060730004912481000150008512C
14535248938814460158920060730004923128000150008512C
14535234611810038825120060730004933243000150008512C
14535724472800072098020060730004943568000150008512C
1453573100280096225812006073000495256500068512C
14535729837814945544020060730004963764000150008512C
14535732259800630209820060730004973197000150008512C


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Re: formatacao de um arquivo

2006-07-06 Por tôpico Herbert Alexander Faleiros
On Thursday 06 July 2006 17:04, Fernando Zank wrote:
[cut]
> cat teste.txt | sed 's/./3/4' | cat >teste2.txt;mv teste2.txt teste.txt
[cut]

Boa, mais simples ainda (que os meus dois exemplos em sh e sed).

Simplificando mais um pouquinho o exemplo acima:

$ sed -i 's/./3/4' lista

Explicação:

$man sed
[cut]
   -i[SUFFIX], --in-place[=SUFFIX]

  edit files in place (makes backup if extension supplied)
[cut]



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] grep

2006-07-07 Por tôpico Herbert Alexander Faleiros
On Friday 07 July 2006 14:39, Prof. Emiliano Chemello wrote:
[cut]
> grep "total energy" > teste.txt
[cut]
> como fazer para que no arquivo de saída não seja
> colocado o nome do arquivo e os dois pontos?

$ man grep
[cut]
   -h, --no-filename
  Suppress the prefixing of  filenames  on  output  when  multiple
  files are searched.
[cut]


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Script com comando Tar

2006-07-09 Por tôpico Herbert Alexander Faleiros
On Sunday 09 July 2006 12:23, Reinaldo Almeida Bonilho wrote:
[cut]
> Estou montando um script que utiliza o comando "TAR" para transferir
> aquivos de backup para unidades de fitas DLT e LTO.
[cut]
> No meu caso preciso transferir para unidades DLT e LTO arquivos
> maiores que 8GB. O cpio pode fazer esse trabalho ? Transferir para
> unidades de fita arquivos maiores que 8GB ?

#!/bin/sh
#
# backup - tar with multi-volumes (files).
# Copyright (C) 2006 Herbert Alexander Faleiros
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Herbert Alexander Faleiros aka ratmmmam ([EMAIL PROTECTED])
#

size=`du -s "$1" | awk '{print $1}'`
disc=`expr 50 \* 1024`

for i in `seq 0 $(expr $size / $disc)`; do
  vols=$vols$(echo -n "-f disc$(printf %03d $i).tar ")
done

tar -c $vols -M -L $disc "$1"


Executando o script teremos o seguinte:

$ ls -sh et-linux-2.60.x86.run
259M et-linux-2.60.x86.run*

$ ./backup et-linux-2.60.x86.run

$ ls -lh disc*
-rw-r--r--  1 herbert users  50M 2005-12-17 09:03 disc000.tar
-rw-r--r--  1 herbert users  50M 2005-12-17 09:03 disc001.tar
-rw-r--r--  1 herbert users  50M 2005-12-17 09:04 disc002.tar
-rw-r--r--  1 herbert users  50M 2005-12-17 09:04 disc003.tar
-rw-r--r--  1 herbert users  50M 2005-12-17 09:04 disc004.tar
-rw-r--r--  1 herbert users 8.5M 2005-12-17 09:04 disc005.tar

E para extrair/montar os arquivos novamente:

$ for i in disc*; do vols=$vols$(echo -n "-f $i "); done; tar -x $vols -M

Explicando o que o script faz:

"size" é o tamanho do que iremos arquivar, o quociente de "size" por "disc" é
a quantidade de arquivos que teremos de tamanho fixo, neste caso serão
arquivos de 50M, "disc" (-L) é o tamanho fixo especificado para cada um
deles, o laço (for) monta os argumentos/parâmetros necessários (-f) para o
tar especificando os volumes e a linha final é o tar arquivando em vários
volumes (-M). Para extrair a sintaxe é praticamente a mesma, muda apenas o
parâmetro funcional (-x) e não especificamos os arquivos de entrada (não
necessário na extração/montagem dos volumes).

Para arquivos (volumes) de 700M, basta mudar o 50 no meu exemplo por 700.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Script com comando Tar

2006-07-09 Por tôpico Herbert Alexander Faleiros
On Sunday 09 July 2006 12:45, Herbert Alexander Faleiros wrote:
[cut]
> size=`du -s "$1" | awk '{print $1}'`
> disc=`expr 50 \* 1024`
>
> for i in `seq 0 $(expr $size / $disc)`; do
>   vols=$vols$(echo -n "-f disc$(printf %03d $i).tar ")
> done
>
> tar -c $vols -M -L $disc "$1"
[cut]

A GPL é para garantir que não vá encontrar o script em algum lugar na net com 
outro autor (acreditem, isso acontece).

Ah, só copiei/colei (o script/explicações) de um outro e-mail que escrevi no 
início do ano em uma lista de Linux (não recordo qual foi).

Outra coisa, se não me engano (não tenho certeza) o tar aguenta até 68G e o 
cpio 8G, talvez a limitação que citou seja do sistema de arquivos.

Melhorando um pouquinho o script (tornando-o funcional):

#!/bin/sh
#
# backup - tar with multi-volumes (files).
# Copyright (C) 2006 Herbert Alexander Faleiros
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Herbert Alexander Faleiros aka ratmmmam <[EMAIL PROTECTED]>
#

# disc size
default=50

function create() {

  size=`du -s "$1" | awk '{print $1}'`
  disc=`expr $default \* 1024`

  for i in `seq 0 $(expr $size / $disc)`; do
vols=$vols$(echo -n "-f disc$(printf %03d $i).tar ")
  done

  tar -P -c $vols -M -L $disc "$1"
}

function restore() {

  for i in disc*; do
vols=$vols$(echo -n "-f $i ");
  done;

  tar -x $vols -M
}

case $1 in
  create)
create $2
  ;;
  restore)
restore
  ;;
  *)
echo "Usage: $0 create|restore dir/file"
exit 1
  ;;
esac


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Script com comando Tar

2006-07-09 Por tôpico Herbert Alexander Faleiros
On Sunday 09 July 2006 14:20, Natanael Martins Neves wrote:
> Sugiro o 'dump'.

Leia o ítem 8.4.2.3. "dump/restore":

http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/pt_br/admin-guide/s1-disaster-rhlspec.html

PS - uso o Slackware aqui.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] cut

2006-07-10 Por tôpico Herbert Alexander Faleiros
On Monday 10 July 2006 10:39, Tiago Barcellos Peczenyj wrote:
[cut]
> while read LINHA; do
> echo \'${LINHA:0:3}\'
> echo \'${LINHA:3:23}\'
> echo \'${LINHA:23:26}\'
> done < /o/seu/arquivo.txt
>
> Resultado:
> 'EDI'
> 'SHIP11 '
> '   22A'
[cut]

Pode usar o sed também:

$ echo "EDISHIP11 22A" | \
sed -r 's/(...)(.+)(  .+)/"\1"\n"\2"\n"\3"/'
"EDI"
"SHIP11   "
"  22A"


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Ajuda com sed

2006-07-12 Por tôpico Herbert Alexander Faleiros
On Wednesday 12 July 2006 12:45, Victor Leonardo wrote:
[cut]
> caracteres da string que são diferentes de números:
> echo "abcDEF012345.,[EMAIL PROTECTED]" | sed 's/[0-9]//g'
> fazer o contrário, ou seja, pegar apenas o que é número
[cut]

$ echo "abcDEF012345.,[EMAIL PROTECTED]" | tr -d [:alpha:][:punct:]
012345



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Verificar permissões de um arquivo

2006-07-14 Por tôpico Herbert Alexander Faleiros
On Friday 14 July 2006 13:23, Victor Leonardo wrote:
[cut]
> Teria como eu verificar se um arquivo possui determinada permissão para
> um usuário que não seja o atual, por exemplo, rodando a shell como root,
> verificar se um usuário comum possui permissão de escrita e leitura em
> um arquivo?

Procura em /tmp por aquivos cujo owner é "herbert" e permissão 0644, ou seja, 
owner pode ler/escrever e demais apenas ler; redireciona a saída (formatada 
como perm/owner/arquivo) p/ teste.txt:

$ find /tmp -user herbert -perm 644 -fprintf teste.txt '%#m %u %p\n'

$ cat teste.txt
0644 herbert /tmp/kde-herbert/konquerorfz1Khb.tmp
0644 herbert /tmp/kde-herbert/konquerorDkGkQb.tmp
0644 herbert /tmp/kde-herbert/konquerorrx92Za.tmp


Outro exemplo:

$ find /tmp -user herbert -perm u+rw -fprintf teste.txt '%#m %u %p\n' 

0600 herbert /tmp/kde-herbert/gradient_header3FU9Kb.png
0600 herbert /tmp/kde-herbert/gradient_shadownhR8yb.png
0600 herbert /tmp/kde-herbert/gradient_shadowhLEEYb.png


A diferença agora é que a procura é "pelo menos" a permissão especificada:

$ find /tmp -user herbert -perm -644 -fprintf teste.txt '%#m %u %p\n'

0755 herbert /tmp/ksocket-herbert/faleiros-17b5-44a7371c
0755 herbert /tmp/ksocket-herbert/faleiros-1370-44a72ccf
0755 herbert /tmp/ksocket-herbert/faleiros-135f-44a72cb6


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Re: Problema com expr

2006-07-14 Por tôpico Herbert Alexander Faleiros
On Friday 14 July 2006 14:30, weder_feliciano wrote:
> echo "scale-2; 13/5" | bc

$ echo "scale=2; 13/5" | bc
2.60

o erro está em: scale-



-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Re: Problema com expr

2006-07-14 Por tôpico Herbert Alexander Faleiros
On Friday 14 July 2006 16:52, weder_feliciano wrote:
> Só uma duvida, no caso como faço pra usar variáveis para fazer a conta?

$ a=13; b=5; echo "scale=2; $a/$b" | bc
2.60


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Soma de coluna

2006-07-14 Por tôpico Herbert Alexander Faleiros
On Friday 14 July 2006 18:14, weder_feliciano wrote:
> Alguem sabe a forma mais fácil de eu somar uma coluna inteira? como:
> 951.00
> 266.28
> 266.28

Déjà-vu?

Acompanhe a thread "somar numero" iniciada a dois dias aqui:
http://br.groups.yahoo.com/group/shell-script/message/19133


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Números aleatórios

2006-07-17 Por tôpico Herbert Alexander Faleiros
On Tuesday 18 July 2006 00:59, Felipe Kellermann wrote:
[cut]
> A bash não tem suporte.  Só ksh e zsh suportam floats.


Você pode contornar isso com ferramentas como o dc:

$ for((x=0;x<10;x++)); do echo -e \
"4\nk\n$RANDOM\n32767\n/\np" | dc; done

.2459
.8153
.3846
.9539
.5232
.0925
.6619
.2312
.8005
.3698


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Números aleatórios

2006-07-18 Por tôpico Herbert Alexander Faleiros
On Tuesday 18 July 2006 03:01, Felipe Kellermann wrote:
> Ou bc, calc, python, awk, perl...

Sim, quanto mais elaborada (ou específica) a ferramenta ou (como citou) 
linguagem(ns) de programação, mais fácil a resolução se torna.

A dúvida dele (rand entre -0.001 e 0.001) dá p/ revolver com o dc/bc:

$ echo -e "4\nk\n$RANDOM\n32767\n/\n0.002\n*\n0.001\n-\np" | dc
$ echo "scale=4; $RANDOM / 32767 * 0.002 - 0.001" | bc

Sobre o dc (o que fiz):

4
k
^= precisão

$RANDOM
32767
/
^= divisão

0.002
*
^= multiplicacao

0.001
-
^= subtração

p
^= resultado


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Números aleatórios

2006-07-18 Por tôpico Herbert Alexander Faleiros
On Tuesday 18 July 2006 11:17, Eduardo Jaime Quiros Batres wrote:
> testa isto
> resp=`echo "scale=3;$(($((RANDOM%2001))-1000)) / 1000" | bc`
> echo  $resp

Olá,

A idéia é boa, mas os números estão fora da escala (-.001 < x < .001):

#!/bin/sh

for((x=0; x<100; x++)); do
#   tmp=`echo -e "4\nk\n$RANDOM\n32767\n/\n0.002\n*\n0.001\n-\np" | dc`
#   tmp=`echo "scale=4; $RANDOM / 32767 * 0.002 - 0.001" | bc`
tmp=`echo "scale=3;$(($((RANDOM%2001))-1000)) / 1000" | bc`

echo $tmp

test `echo $tmp \<= .001 | bc` = 0 && echo "ERR (fora da escala)"
test `echo $tmp \>= -.001 | bc` = 0 && echo "ERR (fora da escala)"
done


$ ./teste
[cut]
-.0360
ERR (fora da escala)
.4270
ERR (fora da escala)
.1380
ERR (fora da escala)
-.1520
ERR (fora da escala)
[cut]


Sobre as verificações efetuadas (determinar se está dentro da escala):

$ man bc
[cut]
Relational  expressions  are  a special kind of expression that always
   evaluate to 0 or 1, 0 if the relation is false and 1 if the relation is
   true.
[cut]
   expr1 == expr2
  The result is 1 if expr1 is equal to expr2.
[cut]


Até,

Herbert.

PS - faça o mesmo teste com a minha implementação dc/bc.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Números aleatórios

2006-07-18 Por tôpico Herbert Alexander Faleiros
On Tuesday 18 July 2006 12:24, Rafael Sanches wrote:
[cut]
> se eu quisse incluir letras aleatoriamente seria mt complicado?


Olá,

veja se é algo como isso (abaixo) que você quer:

Apenas adaptando um script que enviei no ínicio do ano:
http://br.groups.yahoo.com/group/shell-script/message/16982

#!/bin/sh

DATA=0123456789abcdefghijklmnopqrstuvwxyz

QUANT=10
COMPR=10

for((j=0; j<$QUANT; j++)); do
  for((k=0; k<$COMPR; k++)); do
TMP=$TMP${DATA:`expr $RANDOM % 36`:1}
  done

  echo $TMP
  TMP=
done

$ ./teste
xg6ofxn5oe
wn5ve4mdvl
3uc2lbtk2s
b1j9si0r9z
i8q9zh7qgy
p7xg6oexn5
we4ndvm4uc
3lbuk2tb1k
2sa1j9si0r
9zi8qgzp7y

Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Números aleatórios

2006-07-18 Por tôpico Herbert Alexander Faleiros
On Tuesday 18 July 2006 13:38, Tiago Barcellos Peczenyj wrote:
> awk 'BEGIN{srand(); print (2*rand()-1)/1000}'

Olá,

tive de alterar seu exemplo p/ checar a validade do intervalo:

awk 'BEGIN{srand(); printf "%0.4f", (2*rand()-1)/1000}'

$ ./teste awk
0.0008
0.0008
0.0008
0.0008
0.0008
0.0008
0.0008
0.0008
0.0008
0.0008

Note que a qualidade randômica dos números gerados pelo awk mostrou-se péssima 
aqui (são todos iguais em um intervalo muito curto de tempo), isso pode ser 
contornado colocando um incômodo `sleep 2` no loop (por exemplo).

O script é o seguinte:

$ cat teste
#!/bin/sh

MAX=${2-10}

test_dc() {
  echo -e "4\nk\n$RANDOM\n32767\n/\n0.002\n*\n0.001\n-\np" | dc
}

test_bc() {
  echo "scale=4; $RANDOM / 32767 * 0.002 - 0.001" | bc
}

test_awk() {
  awk 'BEGIN{srand(); printf "%0.4f", (2*rand()-1)/1000}'
}

echo_err() {
  echo "ERR (fora do intervalo)"
}

check_range() {
test `echo $1 \<= .001 | bc` = 0 && echo_err
test `echo $1 \>= -.001 | bc` = 0 && echo_err
}

rand_loop() {
for((x=0; x<$MAX; x++)); do
  tmp=`eval test$1`
  echo $tmp
  check_range $tmp
done
}

case $1 in
  dc)
rand_loop _dc
  ;;
  bc)
rand_loop _bc
  ;;
  awk)
rand_loop _awk
  ;;
  *)
echo "Usage: $0 dc|bc|awk MAX"
exit 1
  ;;
esac




-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] filtro log

2006-07-19 Por tôpico Herbert Alexander Faleiros
On Wednesday 19 July 2006 15:18, Rafael Tomelin wrote:
[cut]
> Mas os logs do iptables não ficam juntos com os do kernel em:
> "/var/log/messages"?
>
> Como que você fez para separar esses logs?
[cut]

Olá,

isso já não é mais Shell-Script, em todo caso é só adicionar o 
parâmetro --log-level nas regras do netfilter (iptables) e no
seu /etc/syslog.conf algo como kern.=seu_level -/var/log/iptables

Até,

Herbert.

PS - se você utiliza o Slackware deve sair um artigo justamente sobre isso na 
próxima edição da SlackwareZine http://www.slackwarezine.com.br


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Como verificar formato de um email?

2006-07-20 Por tôpico Herbert Alexander Faleiros
On Thursday 20 July 2006 12:10, Fabricio Cruz wrote:
[cut]
> Como posso criar um shell para verificar se o formato inserido pelo
> usuário está correto.(Na forma de [EMAIL PROTECTED] ou .com.br)

Olá,

isso você resolve com expressões regulares, um exemplo:

$ for i in `cat lista`; do echo -n "$i: "; echo -n $i | 
egrep -q '[EMAIL PROTECTED](\.[a-z]{2,3})(\.[a-z]{2})?$' && echo ok || echo 
err; done
ze: err
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: err
ze@: err
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]@ze: err

Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Como verificar formato de um email?

2006-07-20 Por tôpico Herbert Alexander Faleiros
On Thursday 20 July 2006 14:46, +[+ Suicide|Solution +]+ wrote:
[cut]
> com essa ER vc tampa esses buracos:
> [0-9A-Za-z_-.]+@([0-9A-Za-z_-]+\.)+[A-Za-z]{2,4}

Olá,

[...] mas cria um monte de outros problemas, veja:

$ for i in `cat lista`; do echo -n "$i: "; echo -n $i | 
egrep -q '[0-9A-Za-z_-.]+@([0-9A-Za-z_-]+\.)+[A-Za-z]{2,4}' && echo ok || 
echo err; done
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok
[EMAIL PROTECTED]: ok

Ou seja, validou vários exemplos de e-mails que não existem.

Já a ER que enviei (é só "um exemplo", que inclusive deixa passar algumas 
exceções não comuns):

$ for i in `cat lista`; do echo -n "$i: "; echo -n $i | 
egrep -q '[EMAIL PROTECTED](\.[a-z]{2,3})(\.[a-z]{2})?$' && echo ok || echo 
err; done
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: err
[EMAIL PROTECTED]: err

Ou seja, não validou nenhuma das exceções que a outra ER deixou passar...

Conclusão: ainda fico com a minha ER.

Pode ser melhorada um pouco mais (ainda deixando passar algumas exceções):

^[a-z_\.]+@([a-z]+\.)+([a-z]{2,3})(\.[a-z]{2})?$

Ah, excluí as abominações que não deveriam existir em endereços de e-mail, 
como A-Z e traço. Quem quiser é só adicionar à ER acima...

Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Descobrir quem está acessando uma pasta

2006-07-23 Por tôpico Herbert Alexander Faleiros
On Sunday 23 July 2006 17:13, Thomaz de Oliveira dos Reis wrote:
> Tem como descobrir se algum usuário ou programa está vendo o conteúdo de
> uma determinada pasta?

Olá,

pode tentar algo como:

$ cd /bin

Alguém acessou o /bin?

$ lsof /bin
COMMAND  PIDUSER   FD   TYPE DEVICE SIZE NODE NAME
sh  8904 herbert  cwdDIR3,2 3680   56 /bin

Novo teste:

$ cd

$ lsof /bin


Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] administrando servidor

2006-07-24 Por tôpico Herbert Alexander Faleiros
On Monday 24 July 2006 14:31, Thiago Germano Beier wrote:
[cut]
>  como faco para qdo um laco nao for satisfatorio VOLTAR pro menu inicial ?

Olá,

verifica alguma condição, caso seja algo que não queira chame o script 
novamente, seria algo como (algumas modificações no seu script):

#!/bin/sh

clear

menu() {

  echo
  echo "###"
  echo "Selecione uma opcao do menu"
  echo "###"
  echo

  echo "1) Opcao 1"
  echo "2) Opcao 2"
  echo "3) Opcao 3"
  echo

  read OPCAO
}

menu

case $OPCAO in
  1)
echo "vc escolheu1"
echo "Qual usuario pesquisar?"

read usuario
test ${#usuario} == 0 && . $0 || exit 0
  ;;
  2)
echo "vc escolheu2"
  ;;
  3)
echo "vc escolheu3"
  ;;
  *)
echo "nenhuma opção foi escolhida"
echo "saindo do script"
exit 1
  ;;
esac


Note que não usei nenhum laço... O importante é a seguinte verificação:

 test ${#usuario} == 0 && . $0 || exit 0

Enquanto  a condição  test ${#usuario} == 0 for satisfatória o script será 
executado . $0.

É só uma idéia, adapte às suas necessidades.

Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Alteracao de variavel em varios arquivos

2006-07-24 Por tôpico Herbert Alexander Faleiros
On Monday 24 July 2006 19:15, Leandro Costa wrote:
[cut]
> trocar a variavel host=antigo para host=novo de todos os arquivo

Olá,

isso dá p/ resolver com o sed:

$ cat *.php
host=xxx
host=xxx
host=xxx

Só por segurança, não sobrescreva os arquivos (ainda)...

$ for i in *.php; do cat $i | sed 's/host=xxx/host=yyy/g' > $i.tmp; done

$ cat *.tmp
host=yyy
host=yyy
host=yyy

Se deu certo, substitua o laço acima por:

$ for i in *.php; do sed -ri 's/(host=)yyy/\1xxx/g' $i; done

$ cat *.php
host=yyy
host=yyy
host=yyy


Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Fazer subtração de Datas

2006-07-24 Por tôpico Herbert Alexander Faleiros
On Monday 24 July 2006 17:30, Tiago Barcellos Peczenyj wrote:
> postei um exemplo semanas atras com awk mas acharam muito complexo
[cut]

Olá,

#!/bin/sh

jc() {
  
echo 
"$3-32075+1461*($1+4800+($2-14)/12)/4+367*($2-2-($2-14)/12*12)/12-3*(($1+4900+($2-14)/12)/100)/4"
 | 
bc
}

echo "`jc ${1:0:4} ${1:4:2} ${1:6:2}`sx`jc ${2:0:4} ${2:4:2} 
${2:6:2}`sylxly-2^vp" | dc


A função jc() converte as datas (no formato MMdd) para uma representação 
dentro do calendário "Juliano", depois utilizei o "dc" p/ calcular a 
diferença entre as datas e em seguida o módulo (valores negativos).

Exemplo:

cálculo da diferença em dias entre duas datas no formato MMdd:

$ ./teste 20050202 20040102
397

Notem que difere em 30 dias do exemplo do Tiago (façam as contas).


Até,

herbert.

PS - p/ entender porque utilizei o calendário Juliano leiam o seguinte:
http://www.samag.com/documents/s=8284/sam0307b/0307b_s1.htm


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] Substituir texto expecifico no arquivo

2006-07-24 Por tôpico Herbert Alexander Faleiros
On Monday 24 July 2006 21:54, Diniz Alexandre Daminelli wrote:
[cut]
> sed -i '/uol.com.br/{s/^/#/;}' arquivo.txt
[cut]

Olá,

basta executar algo como:

$ cat lista
folha.uol.com.br
uol.com.br

$ sed -ri 's/^(uol.+)/#\1/' lista

$ cat lista
folha.uol.com.br
#uol.com.br

Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] Fazer subtração de Datas

2006-07-24 Por tôpico Herbert Alexander Faleiros
On Tuesday 25 July 2006 00:23, Tiago Barcellos Peczenyj wrote:
> mm/dd/ => MMdd
> 02/01/2004 => 20040201 # Aqui estão os 30 dias que sobraram no seu exemplo

Boa! Falta de atenção dá nisso. (hehehe)

Seu exemplo ainda tem um problema sério, ele fica limitado pela "UNIX Epoch" 
(32bits), olha só (são dois overflows conhecidos):

$ ./tiago 12/13/1901 01/19/2038
date: invalid date `12/13/1901'
(standard_in) 1: parse error
(standard_in) 1: parse error
(standard_in) 1: parse error
Diff between 12/13/1901 and 01/19/2038:
0 Seconds, or
0 Days, or
0 Years

$ ./herbert 19011213 20380119
49711

Que (em anos) dá aproximadamente:

$ echo `./teste 19011213 20380119` 367/p | dc
135

Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [shell-script] sed não obedece primeira linha em branco

2006-07-25 Por tôpico Herbert Alexander Faleiros
On Tuesday 25 July 2006 08:29, Reinaldo Carvalho wrote:
[cut]
> $ sed -e '/^$/i' arq.txt
[cut]

Olá,

acho que é auto-explicativo:

$ sed '1s/^$/xxx/' arq.txt
xxx
teste 09:09

-- teste 09:09

teste 09:09

Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [shell-script] sed não obedece primeira linha em branco

2006-07-25 Por tôpico Herbert Alexander Faleiros
On Tuesday 25 July 2006 18:03, Herbert Alexander Faleiros wrote:
[cut]
> $ sed '1s/^$/xxx/' arq.txt

Olá,

isso (acima) só no caso da 1a linha estar em branco, esquece...

Essa aqui funciona em qualquer situação:

$ sed '0,/^$/s//xxx/' arq.txt

Até,

Herbert.


-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





[shell-script] Re: sed não obedece primeira linha em branco

2006-07-25 Por tôpico Herbert Alexander Faleiros
--- "Tiago Barcellos Peczenyj" escreveu:
> estou usando o GNU sed version 4.0.9 e não funcionou :(


Olá novamente,

estranho, segundo a documentação, desde a 3.02a isso deveria 
funcionar...

Olha só (Slackware -current):

$ sed --version | head -1
GNU sed version 4.1.5


Arquivo de testes:

$ cat arq.txt

teste 09:09

-- teste 09:09

teste 09:09


Substitui a 1a ocorrência:

$ sed '0,/^$/s//xxx/' arq.txt
xxx
teste 09:09

-- teste 09:09

teste 09:09


Remove a 1a linha em branco:

$ sed -i 1d arq.txt


Faz o teste novamente:

$ sed '0,/^$/s//xxx/' arq.txt
teste 09:09
xxx
-- teste 09:09

teste 09:09


Ou seja, funciona! Mesmo quando a ocorrência não está na 1a linha.


Até,

Herbert.








-
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

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html