Boa Tiago.. nunca havia pensado nesse tipo de solução ;) ... Voy3ur sei lah, a ideia era falar somente sobre o awk por isso a galera não postou milhares de soluções externas a ele... mas claro, sempre tem diversas formas de se fazer a mesma coisa em Shell, inclusive em shell puro (built-in functions), que normalmente tem perfomance melhor...
Agora um detalhe aos Admins da lista: perceberam que alaguns e-mails "bugam" o corpo do e-mail e ao inves de ocultar o @.... o convertem para %40 e mantem o dominio? Bah.. isso parece ser o motivo dos meus spam's estarem aumentando consideravelmente, visto que o conteudo das mensagens esta aberto a toda rede no site do yahoogrupos... PS: Eu sei q poderia mandar em reservado, mas é do interesse de todos mesmo não sendo sobre shell script. Flávio do Carmo Junior On 5/31/07, voyeg3r <[EMAIL PROTECTED]> wrote: > > --- Em shell-script@yahoogrupos.com.br<shell-script%40yahoogrupos.com.br>, > "Tiago Barcellos Peczenyj" > <[EMAIL PROTECTED]> escreveu > > > > Isso que dá ler com pressa.... > > > > Pois bem, isso seria algo interessante para se implementar... > > > > Quando eu preciso fazer algo como > > > > awk '{print $2 até $NF}' > > > > eu faço > > > > awk '{$1="" ; print $0}' > > > > é gambiarra ? mais ou menos, mas concordo que, se tivesse algo como > > > > awk '{print ${2..NF} }' > > > > ficaria mais legivel (ou não) > > Em todo caso sua gambiarra é muito criativa, > lembrando que o Júlio César Neves já postou boas dicas > sobre o cut. O uso do awk neste caso só se justificaria se > tivéssemos que manipular o conteúdo dos campos > > No caso abaixo aumento o valor do campo 2 em 10% > > echo 1 2 3 4 | awk '{print $2*1.1}' > > > > > Abraços e desculpe pela confusão. > > On 5/30/07, Flavio Junior <[EMAIL PROTECTED]> wrote: > > > > > > hm... não era essa a intenção Tiago.. > > > > > > A intenção é dizer do campo 3 até o ULTIMO, sem ter q especificar os > > > intervalos ... > > > > > > Veja: > > > Codigo - seilah - Descricao > > > 1 - blah blha - eu posso escrever N palavras aqui, visse? > > > > > > Esquece a porcaria do "-" separndo os campos, é só pra entender, > imagina q > > > eu quero com o AWK imprimir do segundo campo (blah) até o ultimo... > > > > > > ou seja: > > > awk '{print $2 até $NF}' > > > > > > Entende ? > > > > > > Flavio do Carmo Junior > > > > > > On 5/30/07, Tiago Barcellos Peczenyj > <[EMAIL PROTECTED]<tiago.peczenyj%40gmail.com>> > > > wrote: > > > > > > > > Claro > > > > > > > > $ seq 30 | tr '\n' ' ' | awk '{print $4}' > > > > 4 > > > > $ seq 30 | tr '\n' ' ' | awk '{print $(5-1)}' > > > > 4 > > > > > > > > Simples, não ? > > > > > > > > On 5/30/07, Flavio Junior <[EMAIL PROTECTED] > <billpp%40gmail.com><billpp%40gmail.com>> wrote: > > > > > > > > > > Já que se prontificou a postar uma "dica" sobre o awk ... > > > > > > > > > > Como fazer no awk referencia ao resto dos campos ? > > > > > Exemplo: > > > > > awk '{print $1,$3,$4,$5,$6,$7,$8,$9...}' > > > > > Substituir isso por, algo como: > > > > > awk '{print $1,$3-9}' > > > > > > > > > > Tem como ser feito ? > > > > > > > > > > Flavio do Carmo Junior > > > > > > > > > > On 5/30/07, voyeg3r <[EMAIL PROTECTED] > > <voyeg3r%40yahoo.com.br><voyeg3r%40yahoo. > > > com.br><voyeg3r%40yahoo. > > > > com.br>> wrote: > > > > > > > > > > > > Para quem conhece o awk pule esta definição dada pelo zago: > > > > > > > > > > > > O que significa awk? > > > > > > > > > > > > Awk é uma linguagem com muitas funcionalidades, excelente na > > > > > > manipulação de strings e arquivo texto, muito útil pra usar > na linha > > > > > > de comando, em scripts, em combinação com outros aplicativos > como > > > cat, > > > > > > ls e etc... > > > > > > > > > > > > ===== A dica ========= > > > > > > O delimitador de campos padrão do awk é o espaço, e portanto se > > > quizer > > > > > > que ele imprima a saída também com espaços basta colocar uma > vírgula > > > > > > entre os campos, no exemplo abaixo retiro o espaço existente > entre > > > os > > > > > > campos 2 e 3 > > > > > > > > > > > > echo "um dois tres quatro" | awk '{print $1,$2$3,$4}' > > > > > > > > > > > > E para deixar o pessoal com agua na boca veja um exemplo em que > > > troco > > > > > > os campos 4 e 1 de lugar > > > > > > > > > > > > echo "um dois tres quatro" | awk '{print $4,$2,$3,$1}' > > > > > > > > > > > > Ou ainda pego o meu endereço IP > > > > > > > > > > > > ifconfig eth0 | awk '/inet end/ {print $3}' > > > > > > > > > > > > Referências: > > > > > > * http://www.zago.eti.br/script/awk.html > > > > > > * http://sergioaraujo.pbwiki.com/awk > > > > > > > > > > > > " °v° > > > > > > " /(_)\ > > > > > > " ^ ^ > > > > > > > > > > > > :wq > > > > > > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Tiago B Peczenyj > > > > Linux User #405772 > > > > > > > > # cd /pub > > > > # more beer > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > -- > > Tiago B Peczenyj > > Linux User #405772 > > > > # cd /pub > > # more beer > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > [As partes desta mensagem que não continham texto foram removidas]