[FUG-BR] [Off] formatador de tabela para shell

Carlos Eduardo G. Carvalho (Cartola) cartoleba em gmail.com
Domingo Janeiro 23 20:42:42 BRST 2011


Tem uns livros só de awk. Eu aprendi awk numa xerox de um livrinho que nem
lembro mais o nome ou autor. Depois disso comprei o talvez mais famoso da
O'Reilly que traz o "sed" junto, acho que vale a pena e deve ter inclusive a
versão digital a venda pra download.

Nunca vi o livro do Júlio Neves, mas já encontrei com ele em algumas
conferências, como no SERPRO no RJ uma vez. Quando soube do livro dele eu já
programava em shell há alguns anos, daí acabei não correndo atrás.

Tenho aqui três outros que também já me ajudaram muito, todos da O'Reilly:

- Sed e Awk
- Mastering Regular Expressions
- Exploring Expect

São coisas fundamentais para fazer scripts. Talvez consiga se viver alguns
anos sem o expect, mas depois que descobre ele é difícil deixar pra trás.

Abs, Cartola.

Em 22 de janeiro de 2011 16:19, Paulo Henrique BSD Brasil <
paulo.rddck em bsd.com.br> escreveu:

> Em 22/1/2011 16:12, Cleyton Agapito escreveu:
> > Em 22 de janeiro de 2011 15:32, Carlos Eduardo G. Carvalho (Cartola)
> > <cartoleba em gmail.com>  escreveu:
> >> Mas você não sabe quais os tamanhos máximos das colunas? O awk é uma
> >> linguagem muito apropriada para tratamento de strings. E pelo exemplo
> que
> >> você passou a coisa parece ser bem regular. Se não for vc pode fazer uma
> >> passagem para contar a largura máxima de cada coluna e usá-la. Daria
> mais
> >> trabalho, claro.
> >>
> >> Sem contar, assumindo que sabe os limites:
> >>
> >> teste.awk
> >> ---------------------------------------------------------
> >> /Ano/ {
> >>
> >> printf("+------+---------+---------+---------+---------+---------+\n");
> >>         printf("|%5s |%8s |%8s |%8s |%8s |%8s |\n",$1,$2,$3,$4,$5,$6);
> >>
> >> printf("+------+---------+---------+---------+---------+---------+\n");
> >>         }
> >> /^[0-9]/ {
> >>         printf("|%5s |%8s |%8s |%8s |%8s |%8s |\n",$1,$2,$3,$4,$5,$6);
> >>         }
> >> END {
> >>
> >> printf("+------+---------+---------+---------+---------+---------+\n");
> >>         }
> >> ---------------------------------------------------------
> >>
> > Putz, simples e efetivo, não sabia que tinha esse printf no awk!
> >
> > Como eu não pretendia escrever um script só pra isso (achava que daria
> > muito mais trabalho) não tinha ido atrás. Vou ficar de olho aberto com
> > esse carinha agora...
> >
> > Desculpe o incômodo, foi noobisse minha...
> >
> > Valeu, Abração!!!
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> Não sei quanto aos demais eu é que agradeço, tinha lido contudo muito
> pouco sobre o awk, acompanhando a thread formigou algumas idéias que a
> tempo estava em pedência...
>
> Abraços,
>
> Tem uma lista de Shell-script assim que achar o endereço posto aqui na
> lista...
> Rola discussões legais lá de quando participava...
>
> Um dos membros é o Julio Cezar, o cara ja ministrou varios cursos sobre
> o assunto e tambem é autor do livro Programação Shell Linux - BrasPort,
> tenha a 3a. edição, recomendo..
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


Mais detalhes sobre a lista de discussão freebsd