49 & & $ 2 + $ 3 + $ 4" /> Anexar a um arquivo sem imprimir a tela - O UNIX e Linux Forum
The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Anexar um arquivo em vinay123 Programação Shell Script e 1 06-19-2008 04:05
Leitura conteúdos específicos a partir de um ficheiro e anexando-a para um outro arquivo dnicky Programação Shell Script e 5 10-04-2005 06:45
impressão para o ecrã google UNIX & avançada para usuários experientes 2 10-24-2003 12:19
anexar um ficheiro chumba UNIX para Dummies Perguntas & Respostas 1 05-24-2001 12:09
Anexando-se um arquivo Astudent UNIX para Dummies Perguntas & Respostas 1 10-20-2000 03:17

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-17-2009
lazypeterson lazypeterson is offline
Usuário
  
 

Join Date: Mar 2009
Lugares: 13
Anexar a um arquivo sem imprimir a tela

Código:
#!/bin/csh
awk 'BEGIN     { print "Name           Exam1           Exam2           Exam 3        Total        Grade" }' grades | tee gradesorted
awk '{if ($2+$3+$4<50){grade="F"}else if ($2+$3+$4>49 && $2+$3+$4<65)
{grade="D"}else if ($2+$3+$4>64 && $2+$3+$4<80){grade="C"}
else if ($2+$3+$4>79 && $2+$3+$4<90){grade="B"}else{grade="A"}}
{print $0, "          ", $2+$3+$4, "          ", grade;}' grades | tee gradesorted
O que estou tentando fazer mudar as impressões de modo que o que está no cotações fica anexado ao processo, em vez de impresso para a tela. Tentei usar sed sem sucesso. Alguém pode me aponte na direcção certa? Obrigado.
  #2 (permalink)  
Old 03-17-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderador
  
 

Join Date: Feb 2005
Localização: Boston, MA
Mensagens: 5.125
awk '... coisas ... " > gradesorted
  #3 (permalink)  
Old 03-17-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361
Citação:
Originally Posted by lazypeterson View Post
Código:
#!/bin/csh

Não que isso importe, neste caso, mas veja estas páginas:
Dez razões para não usar o C shell
Csh problemas
Csh Programação considerada prejudicial
Citação:
Código:
awk 'BEGIN     { print "Name           Exam1           Exam2           Exam 3        Total        Grade" }' grades | tee gradesorted

Porque awk dois programas?
Citação:
Código:
awk '{if ($2+$3+$4<50){grade="F"}else if ($2+$3+$4>49 && $2+$3+$4<65)
{grade="D"}else if ($2+$3+$4>64 && $2+$3+$4<80){grade="C"}
else if ($2+$3+$4>79 && $2+$3+$4<90){grade="B"}else{grade="A"}}
{print $0, "          ", $2+$3+$4, "          ", grade;}' grades | tee gradesorted
O que estou tentando fazer mudar as impressões de modo que o que está no cotações fica anexado ao processo, em vez de impresso para a tela. Tentei usar sed sem sucesso. Alguém pode me aponte na direcção certa?

Código:
#!/bin/sh

awk 'BEGIN {
   format = "%-15s%-15s%-15s%-15s\n"
   printf format, "Name", "Exam1", "Exam2", "Exam 3", "Total", "Grade"
  }
{
 total = $2 + $3 + $4
      if (total < 50) {grade = "F"}
 else if (total < 65) {grade = "D"}
 else if (total < 80) {grade = "C"}
 else if (total < 90) {grade = "B"}
 else {grade="A"}
}
{printf format, $1, $2, $3, $4, total, grade}' grades > gradesorted
  #4 (permalink)  
Old 03-17-2009
lazypeterson lazypeterson is offline
Usuário
  
 

Join Date: Mar 2009
Lugares: 13
Eu não sei porque eu estava usando dois awk's ...

Obrigado por ajudar a limpar o meu código desleixado. O único problema que estou tendo, neste momento, é a triagem dos gradessorted arquivo sem o cabeçalho (Nome, Exam1, etc), estando no fundo. Existe uma maneira de excluir linhas a partir de uma espécie?
  #5 (permalink)  
Old 03-17-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361

Canalização do printf através tipo:
Código:
awk 'BEGIN {
   format = "%-15s%-15s%-15s%-15s%-15s%-15s\n"
   printf format, "Name", "Exam1", "Exam2", "Exam 3", "Total", "Grade"
  }
{
 total = ( $2 + $3 + $4 ) / 3 # I think you want the average
      if (total < 50) grade = "F"
 else if (total < 65) grade = "D"
 else if (total < 80) grade = "C"
 else if (total < 90) grade = "B"
 else grade="A"

 format = "%-15s%-15s%-15s%-15s%-15d%-15s\n"
 printf format, $1, $2, $3, $4, total, grade | "sort"
} ' grades > gradesorted
  #6 (permalink)  
Old 03-17-2009
lazypeterson lazypeterson is offline
Usuário
  
 

Join Date: Mar 2009
Lugares: 13
Maravilhoso. Thanks a bunch!
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 09:42.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0