Fala Edmilson, Achei que já conhecia seu nome... Se não me engano, na 4Linux vc ficava sentado do meio para a frente da turma no meu lado direito. Acertei?
Vamulá, eu copiei e colei seu script sem analisá-lo, minha intenção era somente de te passar o conceito de variáveis de Shell dentro de scripts awk (a velha estória de não dar o peixe mas ensinar a pescar). Assim sendo, creio que se mandei com parênteses, vc deve ter mandado para a lista com o dito cujo. :o) -- Abração, Julio *Cursos de Shell e Zenity nos finais de semana: - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000 (Turma prevista para 09/05); - No RJ darei um treinamento em julho (mande e-mail p/ detalhes); - Turmas fechadas em outras cidades ligue (21) 8112-9988* 2009/4/29 Edmilson Menezes <[email protected]> > > > E ai Julio tudo bem, gostaria de agradecer por duas coisas a primeira e > pela resposta e a segunda e pelo curso que vc deu la na 4linux a um ano e > meio + ou - muito bom mesmo. Eu executei o awk mais não funcionou, na sua > linha tinha um ")" e eu acho que é "}" mais não sei se ta certo mais quando > troquei funcionou só saindo o cabeçalho não o conteudo das variaveis, outra > coisa eu uso unix com korn shell. Valeu. > > --- Em qua, 29/4/09, Julio C. Neves > <[email protected]<julio.neves%40gmail.com>> > escreveu: > > De: Julio C. Neves <[email protected] <julio.neves%40gmail.com>> > > Assunto: Re: [shell-script] Montar tabela. > Para: [email protected] <shell-script%40yahoogrupos.com.br> > Data: Quarta-feira, 29 de Abril de 2009, 12:57 > > > Fala Edmilson, > ou vc passa as variáveis como parâmetro, mas aí é um pouco mais complicado, > ou deixa o shell trocá-las pelos seus valores. Como todo o seu awk está > entre apóstrofos o shell não consegue vê-las, então basta vc fechar os > apóstrofos antes das variáveis e abri-los logo após. Algo assim: > > *awk 'BEGIN {printf "%5s %10s\n","VERDURA" ,"FRUTA") \ > {printf "%5s %10s\n", '$PE', '$CH'}' > /tmp/arquio. log* > > Repare que o apóstrofo aberto antes de* BEGIN *foi fechado imediatamente > antes de* $PE *e novamente aberto imediatamente após. O mesmo aconteceu > com*$CH. > * > -- > Abração, > Julio > Cursos de Shell e Zenity nos finais de semana: > *- Em SP ligue (11) 2125-4747; > - Em DF ligue (61) 3223-3000; > - No RJ darei um treinamento em julho (mande e-mail p/ detalhes); > - Turmas fechadas em outras cidades ligue (21) 8112-9988* > > 2009/4/29 Edmilson Menezes <erocha...@yahoo. com.br> > > > > > > > Pessoal acho que tenho um exemplo melhor. > > > > No prompt mesmo faço: > > > > #PE=PERA > > #CH=CHUCHU > > > > awk 'BEGIN {printf "%5s %10s\n","VERDURA" ,"FRUTA") \ > > {printf "%5s %10s\n", $1, $2}' > /tmp/arquio. log > > > > A pergunta é: como informe a variavel do awk $1, $2 que elas são $PE, > $CH. > > Desculpe mais sou iniciante. > > > > Obrigado. > > > > --- Em qua, 29/4/09, Edmilson Menezes <erocha...@yahoo. > > com.br<erocha_jr%40yahoo. > com.br>> > > escreveu: > > > > De: Edmilson Menezes <erocha...@yahoo. com.br <erocha_jr%40yahoo. com.br > >> > > Assunto: Re: [shell-script] Montar tabela. > > Para: shell-script@ yahoogrupos. com.br <shell-script% 40yahoogrupos. > com.br> > > Data: Quarta-feira, 29 de Abril de 2009, 11:19 > > > > Rodrigo bom dia, > > > > Obrigado por sua resposta, é mais ou menos isso mais durante meu script > > tenho algumas variaveis que pegam o conteudo da verificação, se o arquivo > > esta ok ou nao e se servidor também o que eu queria saber é como dizer > para > > a variavel do awk que sua variavel $1 e a variavel do meu script $ROK. > > > > --- Em qua, 29/4/09, Rodrigo Vian <lis...@porttaltecn o logia.com. br> > > escreveu: > > > > De: Rodrigo Vian <lis...@porttaltecn o logia.com. br> > > > Assunto: Re: [shell-script] Montar tabela. > > Para: shell-script@ yahoogrupos. com.br > > Data: Quarta-feira, 29 de Abril de 2009, 10:31 > > > > Bom dia Edmilson, > > > > Tive um problema de formatação também e resolvi da seguinte forma: > > Meu script > > ------------ --------- --------- --------- --------- --------- - > > #!/bin/sh > > DATA=`date +%Y-%m-%d -d "1 day ago"` > > DIR="/home/relatori os" > > FILE="$DIR/$ DATA-ligacoes. txt" > > COMANDO="/usr/ bin/mysql -u root -psenha banco -N -e " > > CAMPOS="data, origem,destino, tronco,tempo" > > > > echo "----------- --------- --------- --------- --------- --------- --" > > echo "Iniciando Exportacao de Dados do dia $DATA" > > > > $COMANDO "SELECT $CAMPOS from cdr WHERE data like \"$DATA%\" ORDER BY > > data;" | sed 's/\t/","/g; s/\n//g | tr -d \" | awk -F , '{ printf > > "%-19s|%-15d| %-15d|%-2s| %s\n", $1,$2,$3,$4, $5 }' > $FILE > > echo "----------- --------- --------- --------- --------- --------- --" > > echo "" > > > > Espero que seja útil... > > > > Abraço > > > > Edmilson Menezes escreveu: > > > > > > > > > Bom dia pessoal, > > > > > > Tenho um script que faz a verificação de alguns arquivos e preciso > > > montar a saida dele como uma tabela, eu fiz a saida bem simples só > > > usando o echo, como exemplo: > > > > > > echo "SERVIDOR ARQUIVO STATUS > > > ------------ --------- --- ------------ ----- > > > ------------ --\n" > > > > > > script > > > variavel A > > > variavel B > > > variavel C > > > > > > echo "$A $B $C" > /tmp/tabela. log > > > > > > Mais ele sai muito desorganizado por cauda do tamanho do nome do > > > servidor e arquivo, eu tenho um script que faço uma tabela com ajuda > > > do awk mais nele ele lê um arquivos pega os campos como variavel $1, > > > $2, $3 e monta a tabela, pergunto: Como posso fazer para o awk ler a > > > saida das minhas variaveis do script como a avariavel do awk que > > > somente le com números, estou quebrando a cabeça com o ARGC que recebe > > > parametros e o ARGV que contem os parametros como vetor. Isso claro > > > com ajuda do livro do Julio. Obrigado. > > > > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > > http://br.maisbusca dos.yahoo. com <http://br.maisbusca dos.yahoo. > com> > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > Rodrigo S. Vian > > Analista TI > > Porttal Tecnologia > > Soluções em TI & Telecom > > http://www.porttalt ecnologia. com.br > > phone:55+19+ 3542-9667 > > mobile:55+19+ 7808-5121 > > nextel:55*89* 25546 > > > > |-- Antes de Imprimir, pense em sua responsabilidade com o Meio Ambiente > > --| > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > http://br.maisbusca dos.yahoo. com > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > http://br.maisbusca dos.yahoo. com > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]
