Re: [shell-script] Dica do Ivan - fazer barras horizontais de tamanho especifico usando sed

2008-06-07 Por tôpico Reinaldo de Carvalho
Baseado no Júlio

tr -d '[0-9]' < <(seq -s= 10)

-- 
Reinaldo de Carvalho
http://korreio.sf.net


2008/6/7 Julio C. Neves <[EMAIL PROTECTED]>:
> Outra forma:
> Prompt> Tamanho=10
> Prompt> sed 's/[0-9]//g' <(seq -s= $Tamanho)
> =
>
> Abraços,
> julio
>
> 2008/6/7 Ivan lopes <[EMAIL PROTECTED]>:
>
>>   objetivo:
>> uma barra de tamanho 10 compasta pelo caracter '=' igual
>> =
>> 0123456789
>>
>> algoritmo:
>> 
>>
>> label :__begin__
>>
>> if strlen(linha) == 10
>> print linha
>> then goto __end__
>> endif
>>
>> linha = linha + '='
>>
>> goto __begin__
>>
>> em sed:
>> ==
>> $ echo | sed ':begin;
>> s/^.\{10\}$/&/;
>> tend;
>>
>> s/$/=/;
>> tbegin;
>>
>> :end'
>>
>> ou inline:
>> $ echo a | sed ':begin;s/^.\{10\}$/&/;tend;s/$/=/;tbegin;:end'
>>
>> --
>> []'s
>> Ivan Carlos da Silva Lopes
>> Engenheiro Eletrônico e de Computação
>> blog --> http://lopesivan.blogspot.com/
>>
>>
>
>
> [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] Procurar passagens mais baratas na Gol com Shell Script

2008-06-09 Por tôpico Reinaldo de Carvalho
Meus 2 cents..


# Belém->São Paulo 14/06/2008-19/06/2008

# tcpdump -nn -i eth0 -s 0 -A host 192.216.212.83


POST http://compre3.voegol.com.br/skylights/cgi-bin/skylights.cgi HTTP/1.1
Host: compre3.voegol.com.br
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US;
rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.14 (Debian-2.0.0.14-1)
Accept: 
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: pt-br,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://www.voegol.com.br/
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 337

travel_type=on§or1_o=aBEL§or1_d=CGH§or_1_d=14§or_1_m=062008§or_2_d=19§or_2_m=062008&ADULT=01&CHILD=00&INFANT=0&b_search.x=70&b_search.y=18&b_search=procurar+v%F4os&mode=JURO&pT=00CHILD01ADULT&oP=&rP=&nom=2&m1=20080614BELCGH&m2=20080619CGHBEL&m1DP=0&m1DO=0&m2DP=0&m2DO=0&pM=0&tc=1&language=PT&module=SB&page=SELECT

# São Paulo-> Porto Algre 14/06/2008-19/06/2008

travel_type=on§or1_o=aCGH§or1_d=POA§or_1_d=14§or_1_m=062008§or_2_d=19§or_2_m=062008&ADULT=01&CHILD=00&INFANT=0&b_search.x=63&b_search.y=12&b_search=procurar+v%F4os&mode=JURO&pT=00CHILD01ADULT&oP=&rP=&nom=2&m1=20080614CGHPOA&m2=20080619POACGH&m1DP=0&m1DO=0&m2DP=0&m2DO=0&pM=0&tc=1&language=PT&module=SB&page=SELECT


# Porto Alegre->Curitiba 14/06/2008-19/06/2008

travel_type=on§or1_o=aPOA§or1_d=CWB§or_1_d=14§or_1_m=062008§or_2_d=19§or_2_m=062008&ADULT=01&CHILD=00&INFANT=0&b_search.x=64&b_search.y=10&b_search=procurar+v%F4os&mode=JURO&pT=00CHILD01ADULT&oP=&rP=&nom=2&m1=20080614POACWB&m2=20080619CWBPOA&m1DP=0&m1DO=0&m2DP=0&m2DO=0&pM=0&tc=1&language=PT&module=SB&page=SELECT


-- 
Reinaldo de Carvalho
http://korreio.sf.net



2008/6/9 João Souto Maior <[EMAIL PROTECTED]>:
> Tiago/Celso,
>
> Acredito que se a gente usar algum sniffer fica mais fácil de encontrar oq
> eh enviado no post, pois dependendo da forma que a página estiver escrita
> fica muito complicado de achar isso.
>
> J
>
> 2008/6/8 Tiago Barcellos Peczenyj <[EMAIL PROTECTED]>:
>
>>   Celso
>>
>> Essa é uma ideia SENSACIONAL, bastaria descobrir quais campos são
>> submetidos através desse post e tratar a resposta, destacando os
>> preços e ordenando, por exemplo.
>>
>> Vou dar uma estudada no assunto até pq isso me interessa, por hora
>> posso sugerir este link:
>>
>> http://curl.haxx.se/docs/httpscripting.html
>>
>> Vai envolver sed / awk alem de curl e , talvez, sort, só tem que saber
>> o que procurar e como, ai tem q olhar o html dessas paginas e rezar
>> pra nunca mudar "de repente".
>>
>> 2008/6/8 Celso Viana <[EMAIL PROTECTED] >:
>> > Tiago,
>> >
>> > É possível adaptar esse script para fazer uma pesquisa automática no
>> > site de uma empresa aérea
>> > (http://compre3.voegol.com.br/skylights/cgi-bin/skylights.cgi), para
>> > encontrar o menor preço de passagem para um determinado intervalo de
>> > tempo?
>> >
>> > Thanks
>> >
>> > --
>> > Celso Vianna
>> > BSD User: 51318
>> > http://www.bsdcounter.org
>> >
>> > 63 8404-8559
>> > Palmas/TO
>> >
>> >
>>
>> --
>> Tiago B Peczenyj
>> Linux User #405772
>>
>> http://peczenyj.blogspot.com/
>> "what does not kill us makes us stronger"
>>
>>
>
>
> [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] Inverter sequencia de caracteres de um String

2008-06-10 Por tôpico Reinaldo de Carvalho
On 6/10/08, Petry <[EMAIL PROTECTED]> wrote:
> Bom dia,
>
>  Tenho uma sequência de caractares alfanuméricos invertidos da seguinte
>  forma:
>
>  BADCFEHG
>
>  E quero transforma-lo em:
>
>  ABCDFEGH
>

Ou esse não foi um bom exemplo, ou voce esta tentando trocar 2 com 1,
4 com 3, etc.. usando a dica do Eri...

fold -w 2 <<< BADCFEHG | rev | tr -d '\n'


-- 
Reinaldo de Carvalho
http://korreio.sf.net


Re: [shell-script] Problemas com Sed e "Ou"

2008-07-01 Por tôpico Reinaldo de Carvalho
>
> `cat zrpReport.out | sed -e 's/(IDKFA|XYQ|XBBQ|\.log)//g'` # PROBLEMA
>
> O problema se dá  na hora do sed, que não está processando o "ou"
>

$(sed -re 's/(IDKFA|XYQ|XBBQ|\.log)//g' zrpReport.out)

você precisa escapar os parenteses ou usar -r.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Passar parâmetro separados por espaço

2008-07-06 Por tôpico Reinaldo de Carvalho
>  i=1
>  for LIST in `echo "$1" | cut -d" " -f$i`; do
> echo $LIST   <-- apenas para debug.
> SIP_$i=$LIST
> i=`expr $i + 1`
>  done
>

Problemas de lógica...
- Não proteja os parametros com aspas.
- Use vetor

i=0
for item in $@; do
SIP[i]=item
done

Se você precisa usar outros parâmetros, passe antes:

OPT1=$1
OPT2=$2
OPT3=$3
shift 3

i=0
for item in $@; do
SIP[i]=item
done

echo Arg1: $OPT1
echo Arg2: $OPT2
echo Arg3: $OPT3

echo -n "List: "
i=0
while [ ${SIP[i]} ]; do
echo -n "${SIP[i]} "
let i++
done
echo

ex: ./tt.sh server port crypt a b c d e

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] conversao de dados em arquivo de usuarios

2008-07-16 Por tôpico Reinaldo de Carvalho
>  >
>  > Carlos;Vinicius;carlos.vinicius;12345;Carlos José Vinicius
>  > Carlos;Vinicius;carlos.vinicius;12345;Carlos Henrique Vinicius
>  > Carlos;Vinicius;carlos.vinicius;12345;Carlos Euler Vinicius
>  > Joao;Silva;joao.silva;12345
>  >
>  > arquivo desejado:
>  > Carlos;Vinicius;carlos.vinicius;12345
>  > Joao;Silva;joao.silva;12345
>  >


cut -f1-4 -d\; < arquivo | uniq

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] conversao de dados em arquivo de usuarios

2008-07-16 Por tôpico Reinaldo de Carvalho
> >  >
>  >  > Carlos;Vinicius;carlos.vinicius;12345;Carlos José Vinicius
>  >  > Carlos;Vinicius;carlos.vinicius;12345;Carlos Henrique Vinicius
>  >  > Carlos;Vinicius;carlos.vinicius;12345;Carlos Euler Vinicius
>  >  > Joao;Silva;joao.silva;12345
>  >  >
>  >  > arquivo desejado:
>  >  > Carlos;Vinicius;carlos.vinicius;12345
>  >  > Joao;Silva;joao.silva;12345
>  >  >
>
>

Sem o menor..

cut -f1-4 -d\; arquivo | uniq



-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Problemas em Loop While

2008-07-16 Por tôpico Reinaldo de Carvalho
>
>  ---
>  cat lista.txt | while read ARQ
>  do
>
>  ssh [EMAIL PROTECTED] carrega.sh $ARQ
>
>  done
>

Tanto o script carrega.sh quanto o arquivo passado como parametro
estão no "servidor". Este comando ssh loga no referido servidor e
executa o comando "carrega.sh /arquivo/tal" e então desloga.

O script carrega.sh que esta no servidor recebe um arquivo como
primeiro parâmetro ($1) e faz alguma coisa.


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Array em shell script

2008-07-17 Por tôpico Reinaldo de Carvalho
> Olá pessoal gostaria de saber como faço para varrer um vetor buscando
>  uma ocorrencia.
>
>  tenho uma variavel "v" e quero saber se ela está contida em um vetor
>  predefinido por mim...
>


i=0
while [ ${VET[i]} ]; do
test ${VET[i]} == ${v} && echo Vetor contem valor de v.
let i++
done

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Determinar o tipo MIME do arquivo

2008-07-18 Por tôpico Reinaldo de Carvalho
>
>  Alguem conhece algum aplicativo que não dependa de ambiente gráfico
>  para me retornar o MIME type de um arquivo?
>

file arquivo

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] RegExr para converter variável em formato CNPJ

2008-07-21 Por tôpico Reinaldo de Carvalho
>
>  Eu tenho uma variável chamada $ZCNPJ, com valor: 12345678901234.
>
>  Preciso de uma Expressão Regular para converter o conteúdo dessa variável no
>  formato CNPJ como o seguinte:
>  XX.XXX.XXX/-XX (sendo que cada X representa um digito).
>

x=12345678901234
echo ${x:0:2}.${x:2:3}.${x:5:3}/${x:8:4}-${x:12:2}
12.345.678/9012-34

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Gerando saida texto...

2008-07-29 Por tôpico Reinaldo de Carvalho
>
>for teste in `cat /root/maquinas-ligadas`; do
>  fgrep -i $teste /home/todas-as-maquinas
>   done > arquivo.txt
>


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Alterando nomes de arquivos com caracteres especiais

2008-08-16 Por tôpico Reinaldo de Carvalho
>
> Bem, uma solução para recuperar os arquivos, a partir do Linux, seria
> gravar os dados do D: (hda2) para um diretório qualquer (p.e.
> /home/d), mas como os arquivos acentuados aparecem com o caracter "?",
> que é um coringa, não consegui copiar/mover.
>

Você não tem que renomear os arquivo, mas sim corrigir a codificação
do terminal.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Re: Alterando nomes de arquivos com caracteres especiais

2008-08-19 Por tôpico Reinaldo de Carvalho
>
>  Creio que o problema está em não conseguir gravar no sistema
>  de arquivo.  E não adianta chmod 777 -R porque isso eu já tentei.
>
>  É uma partição NTFS e  quando instalei o Debian 4,  ela se transformou em
>  HTFS e aí começou meu drama. No Windows a letra D: da partição até aparece,
>  mas não vejo os dados. No Linux eu consigo montar, ler e até copiar, mas 
> esses
>  arquivos com acentuações (que aparecem para mim com um  "?") o sistema
>  não "entende".  Por isso estou tentando mudar seus nomes.
>
>  Mas o "?" não significa que é uma interrogação: pode ser um cedilha ou um til
>  ou qualquer outro símbolo destes.
>
>  Tanto é  que no bash, ao tentar copiar, aparece contra-barra seguida de um 
> número ao
>  invés da interrogação. Percebi que os números são diferentes, ou seja,  são 
> outros símbolos.
>  No Nautilus , aparece um losango preto com uma interrogação dentro.
>
>  Creio que o caminho será  reconfigurar o sistema de arquivo NTFS.
>

Você esta usando codificação errada no console, altere para a mesma
usada pelo windows que os caracteres apareceram corretamente.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] formatação de uma variável

2008-09-12 Por tôpico Reinaldo de Carvalho
On 9/12/08, miranda <[EMAIL PROTECTED]> wrote:
> Pessoal , estou com um problema me pegando aqui.
>  É o seguinte .
>  Tenho uma variável recebendo um número arbitrário de strings
>  separadas por um branco
>  Para fixar idéias , digamos que sejam ip's :
>  por exemplo a variável IP contém
>  IP=200.156.3.4 200.197.56.32 10.34.89.210
>  Como posso fazer para que essa varíável se no primeiro campo for menor
>  que 15 caracteres , para que tenha 15 caracteres acrescentando brancos ?
>  Repesentando os brancos por b , ficaria
>  IP=200.156.3.4200.197.56.32 10.34.89.210
>

Qual o problema que você quer resolver? Aparentemente a sua lógica esta ruim.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Variáveis com apóstrofos II

2009-01-05 Por tôpico Reinaldo de Carvalho
>
> vlc -vvv input_stream --sout
> '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
> rtp{mux=ts,dst=239.255.12.42,sap,name="TestStream"}'
>
> No arquivo de configuração, armazeno todos os parâmetros que serão
> passados para o VLC.
>
> CONFIG="-vvv input_stream --sout
> '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
> rtp{mux=ts,dst=239.255.12.42,sap,name="TestStream"}' "
>

As aspas simples estão ai para que os caracteres especiais não sejam
interpretados (ex: {}"). Mas o programa não espera recebe-las.

#  xx () { echo $1:$2:$3 ; }
# xx a b c
a:b:c
# z="a b c"
# xx $z
a:b:c

Aqui esta o problema... o c foi recebido pelo programa com aspas:

# z="a b 'c'"
# xx $z
a:b:'c'

idem...

# z="a b '#c'"
# xx $z
a:b:'#c'
# z="a b #c"
# xx $z
a:b:#c

O que normalmente acontece é:

# xx a b 'c'
a:b:c

Então...

CONFIG="-vvv input_stream --sout
#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{mux=ts,dst=239.255.12.42,sap,name=\"TestStream\"}"

/sbin/startproc vlc $CONFIG

A unica restrição é que não pode haver espaços (nem com \ ) nos
argumentos. Caso seja necessário podes usar duas variáveis.

CONF1="-vvv input_stream --sout"
CONF2='#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
rtp{mux=ts,dst=239.255.12.42,sap,name="TestStream"}'

/sbin/startproc vlc $CON1 "$CONF2"




-- 
Reinaldo de Carvalho
http://korreio.sf.net (Now available in English)
http://python-cyrus.sf.net


Re: [shell-script] função extract

2009-02-03 Por tôpico Reinaldo de Carvalho
2009/2/3 Guilherme Gall :
> 2009/2/3 voyeg3r :
>
> #!/bin/bash
>
> extract(){
>   for file in "$@"; do
>  if [ -f "$file" ]; then
> case "$file" in
>*.tar.bz2)   tar xvjf "$file";;
>*.tar.gz)   tar xvzf "$file";;
>*.bz2)  bunzip2 "$file";;
>*.rar)  rar x "$file";;
>*.gz)  gunzip "$file";;
>*.tar)  tar xvf "$file";;
>*.tbz2)  tar xvjf "$file";;
>*.tgz)  tar xvzf "$file";;
>*.zip)  unzip "$file";;
>*.Z)  uncompress "$file";;
>*.7z)  7z x "$file";;
>*)  echo "não sei como extrair '$file'...";;
> esac
>  else
> echo "'$file' não é um arquivo válido"
>  fi
>   done
> }
>
> # Fim do script

Fora que da pra unir essas opções:

*.tar.bz2|*.tbz2)   tar xvjf "$file";;
*.tar.gz|*.tgz)   tar xvzf "$file";;
*.bz2)  bunzip2 "$file";;
*.rar)  rar x "$file";;
*.gz)  gunzip "$file";;
*.tar)  tar xvf "$file";;
*.zip)  unzip "$file";;
*.Z)  uncompress "$file";;
*.7z)  7z x "$file";;
*)  echo "não sei como extrair '$file'...";;



-- 
Reinaldo de Carvalho
http://korreio.sf.net (Now available in English)
http://python-cyrus.sf.net


Re: [shell-script] Mover blocos de bits

2009-03-11 Por tôpico Reinaldo de Carvalho
2009/3/10 Gmail :
> boas pessoal
>
> Tenho um arquivo em hexadecimal com esta formatação
>
> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 AA CC
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 AA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA AB
> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 AA DD
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA DD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA DD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 AA DD
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA CD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA EF
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA 15
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA 20
>

A visão de um arquivo em hexadecimal não possui o conceito de "linhas"
nem de "formatação". Estes caracteres são ASCII ou são binários? Vou
considerar que são binários pois você disse "arquivo em hexadecimal".


> Eu preciso mover para outros arquivos solo as blocos entre as linhas com
> o bit 19 e em este exemplo AA
>

Parece-me que você quer os bytes (e não bits) 1 ao 80 no primeiro
arquivo e 101 a 180 no segundo arquivo?

> arquivo primeiro
> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 AA CC
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 AA CC
>
> arquivo segundo
> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 AA DD
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA DD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA DD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 AA DD
>
> Testei com varias formas do sed, mais não solucionei, alguma ajuda?
>

cut -c1-80 arquivo > arquivo-primeiro
cut -c100-180 arquivo > arquivo-segundo

para evitar a quebra de linha gerada pelo cut (0a)

echo $(cut -c1-80 arquivo) > arquivo-primeiro
echo $(cut -c100-180 arquivo) > arquivo-segundo


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Mover blocos de bits

2009-03-11 Por tôpico Reinaldo de Carvalho
2009/3/11 Reinaldo de Carvalho :
>
> cut -c1-80 arquivo > arquivo-primeiro
> cut -c100-180 arquivo > arquivo-segundo
>
> para evitar a quebra de linha gerada pelo cut (0a)
>
> echo $(cut -c1-80 arquivo) > arquivo-primeiro
> echo $(cut -c100-180 arquivo) > arquivo-segundo
>

Pressa... faltou o -n...

echo -n $(cut -c1-80 arquivo) > arquivo-primeiro
echo -n $(cut -c100-180 arquivo) > arquivo-segundo


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Mover blocos de bits

2009-03-11 Por tôpico Reinaldo de Carvalho
2009/3/11 Reinaldo de Carvalho :
> 2009/3/11 Reinaldo de Carvalho :
>>
>> cut -c1-80 arquivo > arquivo-primeiro
>> cut -c100-180 arquivo > arquivo-segundo
>>
>> para evitar a quebra de linha gerada pelo cut (0a)
>>
>> echo $(cut -c1-80 arquivo) > arquivo-primeiro
>> echo $(cut -c100-180 arquivo) > arquivo-segundo
>>
>
> Pressa... faltou o -n...
>
> echo -n $(cut -c1-80 arquivo) > arquivo-primeiro
> echo -n $(cut -c100-180 arquivo) > arquivo-segundo
>
>

Estranho... quase perfeito, o interessante é que o cut trocou o '09'
por '20' sem nenhum motivo aparente.

r...@water:~$ echo -en
'\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\xaa\xbb\xcc\x01\x02' > x

r...@water:~$ hd x
  01 02 03 04 05 06 07 08  09 10 aa bb cc 01 02 |...|
000f

r...@water:~$ echo -n $(cut -c1-11 x) > x2

r...@water:~$ hd x2
  01 02 03 04 05 06 07 08  20 10 aa | ..|
000b



-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Otimização de código

2009-04-05 Por tôpico Reinaldo de Carvalho
2009/4/3 Jeiks :
> Olá povo,
>     estava precisando pegar o device de vídeo das máquinas e, caso fosses
> unichrome ou via, trocar o nome do driver para vesa.
>     Bom... consegui, mas tá feio de ver.. hehe
>     Gostaria de ajuda para melhorar o código.
>
> abração

Como assim 'trocar'? trocar no xorg.conf ? Simplesmente use o sed com
expressao específica, se nao bater ele nao irá trocar. Assim você não
precisa comparar pra trocar, apenas tente trocar diretamente.


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] automatizando instalação

2009-04-11 Por tôpico Reinaldo de Carvalho
2009/4/11 Anderson Duarte :
...
>
> #!/bin/bash
>
> echo "http://seu.repositorio.de.terceiros.aqui"; >> /etc/apt/sources.list
>
> apt-get update
> apt-get upgrade
> apt-get -y install pacote1 pacote2 pacote3...
>
>
> Pronto, creio que isso resolva a parte da instalação, mas deixo pra voce a
> seguinte dica: No Debian, mesmo voce assumindo YES para tudo (-y) vai chegar
> uma hora que o DPKG vai te jogar algumas telas com perguntas pra vc
> responder. (aquela telinha azul usando o Dialog) o dpkg pega estas
> informações e joga depois no arquivo .conf do pacote que vc acabou de
> instalar.

% Desligar as perguntas do debconf (vulgo telinhas do dpkg):

# echo "debconf debconf/priority select critical" > /tmp/debconf.critical
# debconf-set-selections /tmp/debconf.critical

% Instalação dos pacotes

# apt-get update
# apt-get upgrade
# apt-get -y install pacote1 pacote2 pacote3...

% Ligar as perguntas do debconf (vulgo telinhas do dpkg):

# echo "debconf debconf/priority select high" > /tmp/debconf.high
# debconf-set-selections /tmp/debconf.high


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Parentesco de um processo?

2009-04-20 Por tôpico Reinaldo de Carvalho
On Mon, Apr 20, 2009 at 10:29 PM, Alain M.  wrote:
>
> Preciso saber se um determinado processo (PID2=123) é filho de um outro
> (PID1=122)
>
> Tem como listar os pids pais ou filhos, ou seja lá com fôr para
> conseguir tal informação???
>
> grato,
> Alain
>

O velho e bom hábito de unix:

# ps -ef


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Ler e Escrever - USB serial

2009-04-21 Por tôpico Reinaldo de Carvalho
2009/4/20 Alain M. :
> provavelmente você abortou o picocom e deixou o lock...
>
> A a maioria dos recursos no Linux têm travamentos assim, enm sempre é
> muito fácil descobrir onde os arquivos lock ficam para poder eliminálos
> nos scripts...
>
> a maneira correta de sair so picocom é Control+A Ctrl+X, onde Ctrl+A é
> chamado de Escape-char, ou seja caracter de comando, e X para Exit. pode
> também usar  picicom com --nolock
>
> Todos os terminais tem comandos assim.. não tem jeito porque é para
> evitar conflito com a aplicação.
>
> Alain
>

Na minha opinião pode não ser questão de lock, mas de entender que um
hardware tem estados, basicamente "lendo" e "escrevendo" sobre um
buffer. E enquanto a operação não é concluida, ele fica ocioso.

Normalmente quando o aplicativo do usuário escreve no device (no
buffer) o hardware processa isto, e devolve uma informação ao buffer,
ao qual pode ser lido.

Mas vamos imaginar o primeiro passo, de escrita no buffer via device,
a questão é "quando" o hardware vai processar, pode ser de caracter a
caracter, de quebra de linha a quebra de linha, isto depende da
especificação do hardware, e enquando esta 'trigger' não disparada o
hardware não processará e pode não ser possível efetuar a operação de
leitura (via cat).

A questão é enquanto uma operação esta sendo realizada, o hardware
esta aguardando uma situação que ativa o processamento.

É provavel que um simples "echo > /dev/ttyUSB0" dispare o
processamento do hardware, e possa novamente ser acesso pelo "cat",
mas se isso não funcionar, a especificação da comunicação deve ajudar.

O shell não tem recursos de alto nível para comunição com hardware, por exemplo:

- muitos protocolos necessitam sequencias binárias, o que daria
trabalho a mais com o 'echo'.

- o cat não suporte a 'timeout' o que é necessário para identificar
que o hardware não esta respondendo, provavelmente pois o
processamento do buffer ainda não foi disparado, levando a escrita da
mais códigos para esse controle

Uma simulação de timeout...

cat /dev/ttyUSB0 &
bg
i=0
while true; do
jobs | grep -q cat || break
let i++
if [ "$i" -eq 10 ] ; then
killall -9 cat >/dev/null 2>&1
echo 'Nao pude ler do device.'
break
fi
sleep 1
done

Nesse caso, não havia nada no buffer do hardware ou o hardware não
permitiu a leitura, tendo que tentar disparar o processado do hardware
sobre o conteudo do buffer, que como disse, dependendo do hardware
pode ser "echo > /dev/ttyUSB0".

Na minha opinião, usar shell para interagir com hardware é muito mais
trabalhoso do que outras linguagens que possuem funções/métodos
disponíveis para acesso ao hardware, como python.

Ps: o Júlio leu minha mente quando eu me referi ao "ps -ef". ;)

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Trocar : por . em nomes de arquiv os de um diretório

2009-05-05 Por tôpico Reinaldo de Carvalho
2009/5/5 Leonardo :
> Olá,
>
> Tenho um diretório que tem vários arquivos com : em algum lugar do nome.
> Esses arquivos são de nomes longos, com espaços separando as palavras. Ex.:
> "Nome: do arquivo.pdf".
>
> Eu tentei mudar o caracter fazendo um for e usando tr, mas não funcionou
> porque o for i in `ls` itera em cima de cada palavra dos nomes do arquivos.
> Gostaria de saber como posso fazer para trocar o nome de cada arquivo  que
> contenha ":"  em um diretório, e trocar o ":" por ".".
>

while read arquivo ; do
[[ "${arquivo}" =~ : ]] && echo mv "${arquivo}" "${arquivo/:/.}"
done < <(ls)

* remova o echo se exibir corretamente.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] exercicios para quem estah comecando

2009-05-07 Por tôpico Reinaldo de Carvalho
2009/5/7 Marcelo Andrade :
> Olá!
>
> Pretendo montar um curso de shell de 25h para uma turma de alunos
> e gostaria de sugestões sobre exercícios, indo desde o basiquinho
> até as tarefas mais complexas para ir abordando ao longo do
> curso.
>
> A turma é bastante heterogênea, então devo começar nivelando
> por baixo, e o curso deve ser voltado para administração de
> sistemas.  Então ao final devo abordar coisas como cron, envio
> de email, backups, etc.
>
> Gostaria de dicas sobre exercícios.  Se alguém tiver sugestões que
> possa compartilhar, eu agradeceria bastante.
>
> Atenciosamente.
>

Exercícios bons são os interessantes, algumas sugestões:

- Converter LDIF para CSV
- Converter CSV para LDIF
- Converter MBOX para MAILDIR
- Converter MAILDIR para MBOX
- Renomer mensagens (EMLs) para formato CYRUS-MAILDIR
- Gerar um arquivo com todos os endereços de email separados por
vírgula a partir de uma base LDAP
- Converter CSV para SQL para inserção em MySQL/PostGreSQL
- Converter SQL para SQL em um banco com estrutura de tabelas
diferentes. (ex: migrar alguns campos do catálogo de endereços do
HORDE/IMP para ROUNDCUBE)

Tipicamente, conversão de dados.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Arrumar nomes de arquivos com caracter "\372"

2009-05-12 Por tôpico Reinaldo de Carvalho
2009/5/12 César Vianna :
> *Dúvida direta:*
> Como usar o sed para alterar o caracter de codificação inválida que aparece
> como "?" e tem código "\372"
> Consegui com
>          tr "\372" "-" <<< $variavel
> Queria fazer com sed
>

Bem, eu não chamaria de codificação inválida, mas de codificação
diferente do padrão do seu terminal.

while read line;
echo mv "$line" "$(iconv -f iso-8859-1 -t utf-8 <<< $line)"
done < <(ls)

> *Motivo:*
> Corrigir nomes de arquivos no Ubuntu
> A maioria dos problemas resolvi com o Funções ZZ (zarrumanome) -
> http://funcoeszz.net
> Só que falta um caracter inválido "?" que não consegui corrigir... Então
> quero inserir na função e ela utiliza sed
>
> Ex:
> 2008-05-30 22:29 N?o S?o Paulo 2
>
>

A forma mais interessante é via rsync, pesquise no histórico.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net


Re: [shell-script] Shell Script + bit setuid??? Algu ém me explica o porque do erro!

2009-07-18 Por tôpico Reinaldo de Carvalho
2009/7/17 andredeo :
> Pessoal Boa Tarde,
>
> Depois de quebrar a cabeça, googlar, ver o histórico da lista... (Enfim fiz a 
> lição de casa), peço ajuda
>
> To tentando montar um exemplo de uso do setuid. Vejam a lógica da coisa:
> * - Criei um arquivo teste.txt (touch /teste.txt)
> * - Um script tosco:
> #!/bin/bash
>
> echo "Ola" >> /teste.txt
>
> * - Como root executo o script blza;
> * - Como usuario ele diz que o teste.txt não pode ser escrito, perfeito;
> * - chmod u+s teste.sh
> * - ls -lasF teste.sh
> 4 -rwsr-xr-x 1 root root 38 Jul 17 15:10 teste.sh*
> * - Ficou a permissão perfeita;
> * - Em tese quando eu chamar este script logado com usuario, ele sera 
> executado como root e eu vou conseguir escrever no arquivo; MAS:
> # su - linux
> $ cd /
> $ ./teste.sh
> ./teste.sh: line 3: /teste.txt: Permissão negada
>
> Idéias de como usar Shell Script + bit setuid???
> Algum outro exemplo para que eu possa testar???
>
> Detalhe que, imagino que tenha reproduzido o mesmo caso que consta aqui:
> http://www.dicas-l.com.br/dicas-l/19970419.php
>

25 Mar 2006:
http://www.mail-archive.com/shell-script@yahoogrupos.com.br/msg01576.html

21 Jan 2007:
http://www.mail-archive.com/shell-script@yahoogrupos.com.br/msg05272.html

04 Jul 2007:
http://www.mail-archive.com/shell-script@yahoogrupos.com.br/msg06855.html


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net

"Don't try to adapt the software to the way you work, but rather
yourself to the way the software works" (myself)


Re: [shell-script] Shell Script + bit setuid??? Algu ém me explica o porque do erro!

2009-07-20 Por tôpico Reinaldo de Carvalho
2009/7/20 André Luis Boni Déo :
> Reinaldo,
> Obrigado pelas mensagens, eu procurei direto no histórico do yahoo
> groups e não me lembro de ter lido o primeiro link que me passou, as
> outras eu tinha lido, mas queria saber o porque não funciona... Que já
> foi respondido no 1º link e também pelo Flávio...
>

Devagando... Em linguagens interpretadas o interpretador é executado e
lê o programa (scripts). Na prática você esta executando /bin/bash (ou
outro interpretador qualquer) e não o seu script. Ou seja, é
semelhante a idéia do "openoffice abir um .odt".

Dessa forma, para isso funcionar (especulando) dependeria do SUID no
'/bin/bash', e o bash deveria fornecer uma chamada interna (build-in
como local, if, while, trap) para prover a funcionalidade de setuid.
Mas parece-me inviável usar SUID no /bin/bash, e não creio que ele
atualmente implemente tal funcão.

Ou seja, não basta o SUID esta ativado, depende de código extra para
acessar a chamada de sistema que faz o setuid.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net

"Don't try to adapt the software to the way you work, but rather
yourself to the way the software works" (myself)


Re: [shell-script] Re: Formatar Resultado

2009-07-21 Por tôpico Reinaldo de Carvalho
2009/7/21 jsca...@ymail.com :
> Caros colegas acho que não fui muito especifico no que eu quero.
> A solução que estou atrás é a segunte, tenho um arquivo com algumas colunas e 
> quero que a coluna independente de tamanho fique uma em baixo da outra e na 
> mesma posição de cada coluna.
>
> Jamilson Silva    -- 3624-9635
> Janderson Silva   -- 3625-2563
> Teste             -- 4125-5241
>
>

Com as dicas dadas, você devia ter estudado e feito:

# COL='\\033[30G'

# echo -e "$(sed -re "s/(.*)--(.*)/\1"${COL}"--\2/g" arquivo.telefone)"
Jamilson Silva   -- 3624-9635
Janderson Silva  -- 3625-2563
Teste-- 4125-5241

# echo -e "$(sed -re "s/--/${C30}--/" arquivo.telefone)"
Jamilson Silva   -- 3624-9635
Janderson Silva  -- 3625-2563
Teste-- 4125-5241



-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net

"Don't try to adapt the software to the way you work, but rather
yourself to the way the software works" (myself)


Re: [shell-script] Argument list too long

2009-09-20 Por tôpico Reinaldo de Carvalho
2009/9/15 Adriano Nunes :
> E ai Galera!
>
> Bom vamos lá, estou tendo problemas ao rodar o seguinte comando dentro do meu 
> script:
>
> su cyrus -c "(/usr/sbin/ipurge -d200 -f user/*/Spam)"
>
> Esse comando ele remove mensagens de SPAM da caixa postal do usuário, mas 
> devido o diretorio /user ter vários diretorios e arquivos dentro gera o erro: 
> Argument list too long
>
> Será que alguém pode me ajudar, tentei utilizar o xargs mas sem sucesso.
>
> Obrigado galera!
>

Bem, o próprio cyrus pode fazer isso automaticamente, basta você
configurar a annotation /vendor/cmu/cyrus-imapd/expire para estas
caixas postais (Spam).

$ cyradm --user cyrusadmin localhost
> mboxcfg user/*/Spam expire 200
> mboxcfg user/*/s...@example.net expire 200
> mboxcfg user/*/s...@example.org expire 200
>
> info user/x/s...@example.net}
{user/x/s...@example.net}:
  expire: 200
  lastpop:
  lastupdate: 20-Sep-2009 20:38:24 -0300
  partition: default
  size: 0

Sobre o seu script, verifique se o ipurge tem suporte a expandir o '*'
ao invés do BASH:

# su cyrus -c "(/usr/sbin/ipurge -d200 -f user/\*/Spam)"

OFF-TOPIC:
talvez isto lhe interesse:
http://python-cyrus.sf.net
http://korreio.sf.net

-- 
Reinaldo de Carvalho

"Don't try to adapt the software to the way you work, but rather
yourself to the way the software works" (myself)


Re: [shell-script] Res.: Inclusão de cadeia de cara cteres numa posição dentro de um arq

2009-10-03 Por tôpico Reinaldo de Carvalho
2009/10/3 Julio C. Neves :
> Isso me cheira a sed:
>
> $ sed -r 's/^(.{33})(.*)/\1xXxXxX\2/' /caminho/do/arquivo
>

Oi Júlio,

precisa do ^? Não vi situação que deixe de funcionar sem o ^.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net

"Don't try to adapt the software to the way you work, but rather
yourself to the way the software works" (myself)


Re: [shell-script] Testar primeiro caracter de uma string

2010-03-23 Por tôpico Reinaldo de Carvalho
2010/3/23 gleissonmb :
>
> Objetivo: Listar todos arquivos que iniciem com a letra "g".
>
> Ex:
> Estou listando os arquivos assim:
> # for i in `cat< <(ls)` /home/
>

ls g*

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net

"Don't try to adapt the software to the way you work, but rather
yourself to the way the software works" (myself)


Re: [shell-script] Script entrar no diretório - Ser á que fiquei louco????

2010-04-14 Por tôpico Reinaldo de Carvalho
2010/4/13 André Déo :
> [r...@localhost /]# cat entra.sh
> #!/bin/bash
> cd /root
> [r...@localhost /]# pwd
> /


Seu script esta sendo executado como um novo processo, após finalizado
o mesmo e encerrado e o prompt retorna ao shell inicial.


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net

"Don't try to adapt the software to the way you work, but rather
yourself to the way the software works" (myself)


Re: [shell-script] Parse de arquivo de configuracao

2010-04-23 Por tôpico Reinaldo de Carvalho
2010/4/23 Carlos Eduardo Tavares Terra :
> Caros,
>
> estou precisando preparar um script que facilite a vida de alguns
> operadores. O script em si irá alterar um determinado arquivo de
> configuração.
>
> O formato do arquivo de configuração é o seguinte:
>
> classe k {
>  var1 x;
>  var2 y;
>  var3 {
>      var4 z;
>      var5 j;
>      info {
>        abc;
>      };
>  };
> };
>

Alterar 'que' parte 'por qual' conteúdo? Mostre também o inicial e
como deseja que fique, assim como suas tentativas.

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net

"Don't try to adapt the software to the way you work, but rather
yourself to the way the software works" (myself)


Re: [shell-script] Limpando lixo de executável

2010-05-03 Por tôpico Reinaldo de Carvalho
2010/5/3 Alain Mouette :
> Realmente tirou, mas não resolve meu problema:
>

PacMan, o tr do coreutils não tem -u, nem como não buferizar...

>
> Foi exatamente por isso que eu perguntei na lista :) se eu faço um pipe
> pequeno ele só processa no final :(
>
> Mais alguma sugestão???
>
> Alain
>

programa | sed 's/\x08//g'

sed 's/\x08//g' < <(programa)

;)

-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net

"Don't try to adapt the software to the way you work, but rather
yourself to the way the software works" (myself)


Re: [shell-script] FTP mv

2008-02-08 Por tôpico Reinaldo de Carvalho
use o "ls" no ftp, processe a saida com o padrão do usuário, e gere um
comando mv para cada arquivo.

-- 
Reinaldo Carvalho


Re: [shell-script] FTP mv

2008-02-08 Por tôpico Reinaldo de Carvalho
provavelmente ele quis dizer "rename"

-- 
Reinaldo Carvalho


2008/2/8 Tiago Barcellos Peczenyj <[EMAIL PROTECTED]>:
> 2008/2/8 Reinaldo de Carvalho <[EMAIL PROTECTED]>:
> > use o "ls" no ftp, processe a saida com o padrão do usuário, e gere um
> >  comando mv para cada arquivo.
>
> Putz, só agora vi q é o mv do ftp (e não do shell)
>
> O que é novidade para mim. Q versão é essa?
>
> --
> 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] selecionar parte final de uma linha após delimitador

2008-02-17 Por tôpico Reinaldo de Carvalho
Meus 2 centavos..

NOME=http://www.site.com.br/controle/interno/patio/deposito/03_01_2008_21_18.avi
[EMAIL PROTECTED]:~$ basename $NOME
03_01_2008_21_18.avi

-- 
Reinaldo Carvalho


Re: [shell-script] como delatar uma sequencia de palavras num arquivo de 436 linhas

2008-02-26 Por tôpico Reinaldo de Carvalho
cut -f2 -d= arquivo


-- 
Reinaldo Carvalho


Re: [shell-script] como delatar uma sequencia de palavras num arquivo de 436 linhas

2008-02-26 Por tôpico Reinaldo de Carvalho
Melhor...

cut -f2- -d= arquivo


2008/2/26 Reinaldo de Carvalho <[EMAIL PROTECTED]>:
> cut -f2 -d= arquivo
>
>
>  --
>  Reinaldo Carvalho
>



-- 
Reinaldo Carvalho


Re: [shell-script] Script de consulta LDAP lento

2008-03-27 Por tôpico Reinaldo de Carvalho
>
>  # testa se o email contido em emails.txt está no ldap (atributo sn). A linha
>  numEntries só é exibida pelo LDAP quando o registro é encontrado.
>
>  for i in `cat emails.txt`
>  do
> ldapsearch -x sn=$i|if grep numEntries; then echo > /dev/null; else
>  echo $i >> nao_existe.txt; fi
>  done

Porque os emails estão no sn? (sn é surname, ou seja, sobrenome)

ldif=$(ldapsearch -LLL -x)
while read line; do
echo -e "$ldif" | grep -q mail=$line && echo $line
done < emails.txt

-- 
Reinaldo Carvalho


Re: [shell-script] Remover 3 linhas referentes a uma determinada referencia

2008-04-22 Por tôpico Reinaldo de Carvalho
Solução padrão das aulas de portugol da tia maria do maternal :P

O algoritmo é feio pois a padronização usada foi ineficiente.


#!/bin/bash

flag=False
while read line ; do
if [ $flag == 'True' ] ; then
if [ -z "$line" ] ; then
   flag=False
   echo
else
   echo \# $line
fi
else
echo $line
fi
if [ "$line" == "$1" ] ; then
flag=True
fi
done < x.txt

[EMAIL PROTECTED]:~$ ./tt.sh '# Cliente B'


# Cliente A
iptables xx xx
iptables xx xx

# Cliente B
# iptables xx xx
# iptables xx xx

# Cliente C
iptables xx xx
iptables xx xx

-- 
Reinaldo Carvalho


On 4/22/08, xiss_break <[EMAIL PROTECTED]> wrote:
> Olá pessoal, gostaria de obter a ajuda de voces com referencia a um
>  determinado problema, exemplo:
>
>  # Cliente: A
>  iptables -A wireless -s 192.100.100.3 -m mac \
>   --mac-source 00:00:00:00:00:00 -j RETURN
>
>  Bom, preciso criar um script que receba o nome de um determinado
>  cliente e faça a busca em um arquivo buscando referencia a este
>  cliente (# Cliente: A) e logo que encontrar comente a 2 próximas
>  linhas. Deixando  claro que essa referência pode de repetir no mesmo
>  arquivo e nesse caso todas as 2 próximas linhas também devem serem
>  comentadas.
>
>
>  Desde já agradeço a vocês.
>
>
>  
>
>  -
>  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
>
>
>



http://sourceforge.net/projects/korreio
http://sourceforge.net/projects/kontroller
http://sourceforge.net/projects/phptcadmin
http://sourceforge.net/projects/python-cyrus


OFF-TOPIC Re: [shell-script] envio de e-mail via linha de comando

2008-04-22 Por tôpico Reinaldo de Carvalho
2008/4/22 Elvio Barbalho <[EMAIL PROTECTED]>:
> Resolvido o problema esta no gmail, quando abrir o e-mail no thunderbird
>  consegui visualizar corretamente o anexo.

O problema não esta no Gmail, você não pode simplesmente colar um
texto em base64 e querer chamar isso de anexo.

Você precisa olhar o codigo de e-mails com anexo e verificar que
existe o cabeçalho:

  Content-Type: multipart/mixed;
 boundary="0-1917243955-1091469849=:7321"

que possui uma marcação utilizada antes e depois do anexo codificado em base64.


-- 
Reinaldo Carvalho

http://sourceforge.net/projects/korreio
http://sourceforge.net/projects/kontroller
http://sourceforge.net/projects/phptcadmin
http://sourceforge.net/projects/python-cyrus


Re: [shell-script] GoTo em shell

2008-05-10 Por tôpico Reinaldo de Carvalho
> Ontem eu li este post interessante:
>
> http://blog.stiod.com.br/?p=80
>
> Achei a ideia sensacional, pena que o script é em Python. Não que a
> linguagem seja ruim mas isso me obriga a ter esse interpretador
> instalado. Pior: o script é muito interativo, sinto falta de algumas
> opções de linha de comando.
>

Olá Tiago,

normalmente eu utilizo o ctrl+r no bash para pesquisar comandos no history.

[EMAIL PROTECTED]:~$
(reverse-i-search)`ssh': ssh [EMAIL PROTECTED] -L :10.15.1.19:22

Neste caso, dei ctrl+r e escrevi ssh, se não foi o comando desejado,
basta ir apertando ctrl+r que ele pesquisa em backward o comando
contendo com "ssh", nesse momento, também é possível dar ctrl+s para
ele pesquisar em forward.


-- 
Reinaldo Carvalho
http://korreio.sf.net


Re: [shell-script] Mudar bytes exatos em binario

2008-05-18 Por tôpico Reinaldo de Carvalho
> Por exemplo:
>
> $ echo -en "\x01\x02\x03\x04\x05\x06\x07\x08" > arq.bin
>
> Agora gostaria de mudar os bytes 0x04 0x05 e 0x06 por qualquer outra
> coisa (\x00\x00\x00 por exemplo).

sed -i 's/\x04/\x00/' arq.bin

-- 
Reinaldo Carvalho
http://korreio.sf.net


Re: [shell-script] Mudar bytes exatos em binario

2008-05-18 Por tôpico Reinaldo de Carvalho
On Sun, May 18, 2008 at 5:00 PM, Maycon Maia Vitali
<[EMAIL PROTECTED]> wrote:
> Fala Reinaldo,
>
> Na verdade gostaria de mudar em uma determinada posição e não um valor
> especifico.
>

[EMAIL PROTECTED]:~$ hd arq.bin
  01 02 03 04 05 06 07 08   ||
[EMAIL PROTECTED]:~$ sed -e 's/\(...\)./\1\x09/' arq.bin | hd
  01 02 03 09 05 06 07 08   ||
[EMAIL PROTECTED]:~$ sed -e 's/\(\)./\1\x09/' arq.bin | hd
  01 02 03 04 09 06 07 08   ||
[EMAIL PROTECTED]:~$ sed -e 's/\(.\)./\1\x09/' arq.bin | hd
  01 02 03 04 05 09 07 08   ||

Para ficar automatico, deixo pra você gerar a quantidade de pontos... :)

-- 
Reinaldo Carvalho
http://korreio.sf.net


Re: [shell-script] Escrevendo em aplicativo usando shell

2008-05-22 Por tôpico Reinaldo de Carvalho
> rodaria um shell chamado
> $ ./mensagem.sh
>
> apos fazer isso o vim seria aberto e escreveria a mensagem
> "Ola! Mundo" dentro dele.
>

echo "Ola! Mundo" > /tmp/text.tmp ; vi /tmp/text.tmp

Que besteirol.. :P

-- 
Reinaldo Carvalho
http://korreio.sf.net