shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script-pt] Estudos durante a quarentena


From: Julio C. Neves
Subject: Re: [shell-script-pt] Estudos durante a quarentena
Date: Fri, 5 Jun 2020 11:19:50 -0300

Puxa, mas falávamos de linguagem e Sistema Operacional... ;) kkkk

Abraços,
Julio

» Não tem tempo para fazer um curso presencial?
» Na sua cidade não tem nenhum bom curso de Linux?
» Em 27/01/2020 abriremos uma semana de inscrições
» para uma nova turma. Veja mais detalhes em:

Também damos treinamento em sua empresa
em qualquer cidadecom certificado e nota fiscal.







Em sex., 5 de jun. de 2020 às 11:18, Raul Libório <rauhmaru@gmail.com> escreveu:
Acredito que esse script dele seja em powershell.

Em sex., 5 de jun. de 2020 às 11:07, Julio C. Neves
<julio.neves@gmail.com> escreveu:
>
> Já que estamos falando sobre estudos durante a quarentena, se inscrevam nesse workshop gratuito: https://educacao.dicas-l.com.br/workshop
>
> Abraços,
> Julio
>
> » Não tem tempo para fazer um curso presencial?
> » Na sua cidade não tem nenhum bom curso de Linux?
> » Em 27/01/2020 abriremos uma semana de inscrições
> » para uma nova turma. Veja mais detalhes em:
> »      https://educacao.dicas-l.com.br/shell-linux
>
> Também damos treinamento em sua empresa
> em qualquer cidade, com certificado e nota fiscal.
>
>
>
>
>
>
>
> Em sex., 5 de jun. de 2020 às 11:00, Julio C. Neves <julio.neves@gmail.com> escreveu:
>>
>> Fala Paulo,
>> Com certeza não é csh... Conheço duas linguagens cuja atribuição é desse tipo:
>>
>> $COD_MATERIA = $i_notas.cod_materia
>>
>> Perl e PHP, provavelmente é uma das duas, mas pode ser outra.
>>
>> Eu ia responder esse e-mail, só não o tinha feito ainda, pq na próxima semana, eu e Rubens Queiroz estamos abrindo a matrícula de mais uma turma do curso de shell e isso me toma muito tempo.
>>
>> Mas pelo tamanho das duas soluções apresentadas, pode ser que o George Robinson se convença que o Shell é mais fácil e mais rápido.
>>
>> Abraços,
>> Julio
>>
>> » Não tem tempo para fazer um curso presencial?
>> » Na sua cidade não tem nenhum bom curso de Linux?
>> » Em 27/01/2020 abriremos uma semana de inscrições
>> » para uma nova turma. Veja mais detalhes em:
>> »      https://educacao.dicas-l.com.br/shell-linux
>>
>> Também damos treinamento em sua empresa
>> em qualquer cidade, com certificado e nota fiscal.
>>
>>
>>
>>
>>
>>
>>
>> Em qui., 4 de jun. de 2020 às 22:39, Paulo <phfbettega@gmail.com> escreveu:
>>>
>>> Olá George, o script é csh? Não tenho familiaridade, mas pela saída talvez
>>> seja o caso de imprimir os nomes dos alunos em outro ponto do script.
>>> Fiz esse script em bash com ajuda de sed, grep, bc.
>>> Acho que a lógica é mais ou menos a mesma, um loop pegando o nome
>>> dos alunos, outro loop dentro pegando as notas e outro para imprimir
>>> as matérias e médias.
>>>
>>> while IFS=, read cod_aluno nome; do
>>>
>>> while IFS=, read cod_materia cod_aluno_notas notas; do
>>> [ "$cod_aluno_notas" -eq "$cod_aluno" ] && media[$cod_materia]=$(echo "scale=3;(${notas//,/+})/4"|bc)
>>> done <<<"$(sed 1d notas.csv)"
>>>
>>> echo $cod_aluno $nome
>>>
>>> for i in ${!media[@]}; do
>>> printf "%-15s%s\n" "$(grep $i materias.csv|cut -d, -f2)" ${media[i]}
>>> done
>>>
>>> done <<<"$(sed 1d estudantes.csv)"
>>>
>>> 001 Carlos Eduardo Barbosa Oliveira
>>> Matemática    5.350
>>> Português     7.050
>>> Geografia      5.275
>>> História      4.187
>>> Física        3.425
>>> 002 Maria Eduarda Barbosa Oliveira
>>> Matemática    7.125
>>> Português     6.550
>>> Geografia      6.250
>>> História      5.725
>>> Física        5.150
>>>
>>> É possível reunir todos os três arquivos csv em um único? Acho que dessa maneira
>>> o script ficaria mais fácil, até mesmo fazer um script em awk também.
>>> Abraços Paulo
>>>
>>> On 03/06/2020 23:28, George Robinson wrote:
>>> > Caros,
>>> >
>>> > Eu e meu enteado resolvemos estudar juntos durante a quarentena, e estamos evoluindo bem em nossos conceitos.
>>> > Hoje, depois de finalizarmos estudos sobre lógica de programação e algoritmos, resolvemos nos envolver na
>>> > montagem de um código para lermos notas lançadas de alunos de um arquivo. O código evoluiu como deveria, até
>>> > que surgiu a questão. Não somos familiarizados ainda com o conceito de looping, do.. while, for, foreach.
>>> >
>>> > Pra resumir a questão, vou direto ao ponto. Fizemos um script grande, porém cansativo que dá muita margem ao
>>> > erro humano, então partimos para algo mais sofisticado e "automatizado", consultando um arquivo .csv e depois
>>> > lançar as notas, tirar a média e retornando com as condições.
>>> >
>>> > O código abaixo está parcialmente escrito, pois ele não retorna ainda os valores de que necessito para
>>> > concluir o código:
>>> >
>>> > -----------------------------------------------------------------------------------------------------
>>> > Arquivo  estudantes.csv
>>> >
>>> > cod_aluno,nome_aluno
>>> > 001,Carlos Eduardo Barbosa Oliveira
>>> > 002,Maria Eduarda Barbosa Oliveira
>>> > -----------------------------------------------------------------------------------------------------
>>> > Arquivo materias.csv
>>> >
>>> > cod_materia,nome_materia
>>> > 01,Matemática
>>> > 02,Português
>>> > 03,Geografia
>>> > 04,História
>>> > 05,Física
>>> > -----------------------------------------------------------------------------------------------------
>>> > Arquivo notas.csv
>>> >
>>> > cod_materia,cod_aluno,1_bi,2_bi,3_bi,4_bi
>>> > 01,001,6.7,5.0,3.2,6.5
>>> > 02,001,8.5,7.0,5.6,7.10
>>> > 03,001,7.4,5.0,4.2,4.5
>>> > 04,001,5.0,6.5,1.75,3.5
>>> > 05,001,4.2,5.0,2.25,2.25
>>> > 01,002,7.6,7.5,6.9,6.5
>>> > 02,002,5.8,6.8,6.5,7.10
>>> > 03,002,4.8,8.5,7.2,4.5
>>> > 04,002,6.0,5.9,5,7,5,3
>>> > 05,002,2.4,8.5,5.2,4.5
>>> > -----------------------------------------------------------------------------------------------------
>>> > notas.sh
>>> >
>>> > $MATERIA = ".\Downloads\materias.csv"
>>> > $LERMATERIA = import-csv $MATERIA
>>> >
>>> > $ESTUDANTES =  ".\Downloads\estudantes.csv"
>>> > $LERESTUDANTES = import-csv $ESTUDANTES
>>> >
>>> > $NOTAS = ".\Downloads\notas.csv"
>>> > $LERNOTAS = import-csv $NOTAS
>>> >
>>> > $REPROVA = 0
>>> >
>>> > foreach ($i_materia in $LERMATERIA) {
>>> >          [int]$COD_MATERIA = $i_materia.cod_materia
>>> >          [string]$NOME_MATERIA = $i_materia.nome_materia
>>> >
>>> >          #Write-Host "`r`n$COD_MATERIA $NOME_MATERIA"':'
>>> >
>>> >          foreach ($i_estudante in $LERESTUDANTES) {
>>> >          [int]$COD_ALUNO = $i_estudante.cod_aluno
>>> >          [string]$NOME_ALUNO = $i_estudante.nome_aluno
>>> >
>>> >          #Write-Host $COD_ALUNO $NOME_ALUNO
>>> >
>>> > foreach ($i_notas in $LERNOTAS) {
>>> >          $COD_MATERIA = $i_notas.cod_materia
>>> >          $COD_ALUNO = $i_notas.cod_aluno
>>> >          $B1 = $i_notas.'1_bi'
>>> >          $B2 = $i_notas.'2_bi'
>>> >          $B3 = $i_notas.'3_bi'
>>> >          $B4 = $i_notas.'4_bi'
>>> >
>>> >          $MEDIA = ([INT]$B1+[INT]$B2+[INT]$B3+[INT]$B4)/4
>>> >
>>> >          Write-Host 'Nota '$NOME_MATERIA': ' $NOME_ALUNO' :' $MEDIA
>>> >            }
>>> >       }
>>> > }
>>> > -----------------------------------------------------------------------------------------------------
>>> > SAIDA:
>>> >
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Matemática:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Matemática:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Português:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Português:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Geografia:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Geografia:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  História:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  História:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 5,25
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 7
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 5
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 4,25
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 3,25
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 7,25
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 6,5
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 6
>>> > Nota  Física:  Carlos Eduardo Barbosa Oliveira : 4,75
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 5,25
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 7
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 5
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 4,25
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 3,25
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 7,25
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 6,5
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 6
>>> > Nota  Física:  Maria Eduarda Barbosa Oliveira : 4,75
>>> > ---------------------------------------------------------------------------------------------------------
>>> > Gostaria de entender qual a sub-rotina eu deveria inserir no código para que cada ALUNO fosse tratado
>>> > individualmente.
>>> >
>>> > --
>>> > George Robinson
>>> > Analista de Suporte
>>> > Tel: +55 (21) 97449-8138
>>> >
>>> > _______________________________________________
>>> > Lista brasileira de usuários de shell script
>>> > Endereço de e-mail da lista: shell-script-pt@nongnu.org
>>> > Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>>> > Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>>> >
>>> > NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
>>> >
>>>
>>> _______________________________________________
>>> Lista brasileira de usuários de shell script
>>> Endereço de e-mail da lista: shell-script-pt@nongnu.org
>>> Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
>>> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>>>
>>> NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
>
> _______________________________________________
> Lista brasileira de usuários de shell script
> Endereço de e-mail da lista: shell-script-pt@nongnu.org
> Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
> Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/
>
> NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.



--
Raul Libório
http://rauhmaru.blogspot.com/
openSUSE Member | Linux User #4444581

/etc/httpd/conf.d/ssl.conf:7
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]