Como funciona o PROCESSO DE DESENVOLVIMENTO de um SHELL SCRIPT
Ойын-сауық
Olá meus queridos, finalmente mais um vídeo para vocês!
Durante as gravações do meu treinamento de DevOps, me deparei com a necessidade de ter um total de horas de vídeo editadas, para mensurar mesmo. Pela interface gráfica (GNOME) não estava conseguindo fazer.
Pois bem, parti para o bom e velho Shell para resolver o problema e criar um Script que possa ser usado em qualquer diretório.
Neste vídeo, eu compartilho o processo de desenvolvimento, desde a ideia, as pesquisas no Google e como pensei na solução.
Meu objetivo é ajudar a "abrir a mente" e entender que tudo pode ser automatizado aí na sua workstation :)
Cursos Completos:
✔ Todos os meus cursos: mateusmuller.me/cursos
Redes Sociais:
✔ Instagram: / mateuslinux_
✔ Discord: / discord
✔ Twitter: / mateuslinux_
Acompanhe também:
✔ Blog: mateusmuller.me
Пікірлер: 39
Em vez de usar o ls em um sub-shell, melhor usar um globbing direto *.mp4 (for file in *.mp4) com a opção nullglob ligada (shopt -s nullglob) pra evitar interrupção do programa caso o glob não retorne arquivos.
@mattheuscouto370
2 жыл бұрын
Bela dica. Aprendi desta forma com os professores Blau Araújo e Slack Jeff. Só não sabia do shopt para o caso de não existir arquivos. (shopt -s nullglob)
@MateusMuller
2 жыл бұрын
muito boa gustavo!! eu queria fazer com o find em uma linha: $ find . -iname "*.mp4" -exec {} ;\ mas tive uns problemas e mandei um extreme go horse
@jesherminelli9329
2 жыл бұрын
Dessa forma?? ``` hopt -s nullglob for video in *.mp4; do duracao=$(ffprobe -i $video -show_entries format=duration -v quiet -of csv="p=0") total=$( echo $total + $duracao | bc ) done shopt -u nullglob ```
Ótima dica! Para quem quiser formar a saída da calculadora bc pode usar a seguinte notação: echo "scale=1; 26702.751000 / 60 /60" | bc -l a saída é 7.4. ou também: bc -l
Assisti o primeiro minuto já achei demais a ideia !
@MateusMuller
2 жыл бұрын
valeu mestre
Pantera monstro, parabéns meu camarada. Sucesso pra ti!
Boa !
Genial. Só gostaria de dar uma sugestão: exibir o código com zoom permitindo assistir no celular.
@MateusMuller
2 жыл бұрын
eu aumentei a fonte do terminal e do vscode :/
Decimal = 100... minutos = 60. Para se calcular os minutos tem que multiplicar resto (décimos) por 60. Ex. 1,5 horas não é 01:50 e sim 01:30.
Ótimo vídeo, como sempre!
@MateusMuller
2 жыл бұрын
valeu mestre
Perfeito!!!
@MateusMuller
2 жыл бұрын
valeu mestre
Cai de paraquedas, mas gostei da forma que explica, pode falar qual a vantagem e desvantagem de programar em shell
Boa alemão
@MateusMuller
2 жыл бұрын
Valeu diogao
Gigante do open source
Agora tu veio meu rei. Não dê o peixe, ensine a pescar
Obrigado, me ajudou bastante o vídeo
Caraca... Gênio 🧞
Faço scripts aleatorios o tempo inteiro pra usar uma vez e nunca mais, simplesmente pq Acho mais divertido que Fazer o processo manualmente
Eu achava Shell scripts complicado, mas usando muito o terminal e estudando vejo que não e bem assim. é até simples de entender..
@MateusMuller
2 жыл бұрын
exatamente ;)
Muito bacana o vídeo! como voce fez para no terminal ele mostrar um histórico de comandos enquanto está digitando? um exemplo disso acontece aos 03 minutos de vídeo... novamente, excelente vídeo!!!
@danielcaland
2 жыл бұрын
Muito obrigado!!
@MateusMuller
2 жыл бұрын
@@danielcaland exatamente isso que o danilo falou! abs
Nao funcionaria usar DURACAO_TOTAL += probe -i... | bc, ou DURACAO_TOTAL = DURACAO_TOTAL + probe -i... | bc?
o que faltaria para limitar a quantidade de casas depois do ponto?
@jesherminelli9329
2 жыл бұрын
dei um google aqui e consegui limitar duas casas após o ponto, com a variável especial "scale" echo "Total de: $( echo "scale=2; $total / 60 / 60" | bc -l ) horas"
@MateusMuller
2 жыл бұрын
valeu rapazeada, salvando meu tempo hahaha
ls *.mp4 | xargs -l ffprobe -show_entries format=duration -v quiet -of csv="p=0" | head -c -1 | tr ' ' '+' | xargs -I {} echo "({})/3600" | bc -l | xargs -I {} echo "Total: {} horas" Tem como fazer desse jeito em só uma linha, apesar de não ser muito legível kkkkk
Bom dia. Onde encontro seu curso de Shell script?
Primeiro
@MateusMuller
2 жыл бұрын
Me sinto ate famoso
Tudo 3 kkkkk
@MateusMuller
2 жыл бұрын
Em? kkkk