play_arrow

keyboard_arrow_right

skip_previous play_arrow skip_next
00:00 00:00
playlist_play chevron_left
volume_up
chevron_left
  • Home
  • keyboard_arrow_right Arquivo
  • keyboard_arrow_right Blog
  • keyboard_arrow_right Usando Bash Scripts

Usando Bash Scripts

758 Resultados / Página 1 de 43


Background

Um dos motivos pelo qual eu uso Linux no meu dia a dia, é que ele, ao contrario do que o tato pensa, agiliza minhas tarefas, e aqui eu vou dar um exemplo do poder do linux.

Vamos utilizar o bash para converter imagens tiradas com uma câmera digital para o formato 648×486 e tambem gerar uma versão menor 140×105 para usarmos como snapshot em uma pagina html :D.

Bom, primeiro, precisamos de um diretorio para colocar as fotos originais, que normalmente são do tamanho 2592×1944. O diretório escolhido é origin. criamos os diretórios para as fotos que serão colocadas no site, e para os snapshots, fotos e snaps respectivamente

>mkdir origin
>mkdir fotos
>mkdir snaps

agora, precisamos gerar um arquivo de script gera_html.sh que sera executado para gerar as fotos, e dar-lhe permissão de execução.

>chmod u=u+x gera_html.sh

Agora vamos fazer um loop de for que percorrera todos os arquivos da pasta origin gerando copias das imagens na pasta fotos, mas convertendo as fotos para 648×486, já que este parece ser um tamanho adequado para fotos que devem viajar pela rede. Observe que o for utiliza a lista gerada pela expansão origin/*, e que no começo do arquivo devemos colocar a #!/bin/bash para indicar que este é um bash script.

#!/bin/bash
CONT=1;for FILE in origin/*; do
convert $FILE -resize 648x486
fotos/foto-$CONT.jpg
CONT=$[$CONT+1]
done

Observe que as fotos serao geradas com o nome foto-1.jpg foto-2.jpg … foto-10.jpg, de forma que se quisermos ter foto-0001.jpg, temos que gerar o texto atraves de uma função

function cont_to_var
{
AUX=$1
for NUM in 1000 100 10; do
if [ $AUX -lt $NUM ]; then
AUX=0$AUX;
fi
done
echo $AUX
}

Atribuimos isto a uma variavel utilizando os recursos do bash, para entao podermos gerar nossas imagens. Podemos aproveitar o loop e ja gerarmos as fotos e os snapshots 😀

VAR=$(cont_to_var $CONT)
convert $FILE -resize 648x486
fotos/foto-$VAR.jpg
convert $FILE -resize 140x105
snaps/snap-$VAR.jpg
CONT=$[$CONT+1]

Agora basta apenas inserir a parte do codigo que gera a pagina html. primeiramente, preparamos uma pagina com a base, e a pagina com o final do arquivo, e entao utilzamos o while para finalizar o processo. Notamos que ao final do for, temos $CONT carregando o numero de fotos +1. Utilizaremos então o while com a condição [ $CONT -le $MAX ] que equivale a dizer while (cont <= max), e para cada iteração iremos inserir o tag com a imagem, redirecionando a saida para nosso arquivo fotos.html

MAX=$CONT
CONT=1
PAGE=fotos.html
COL=5

cat base.html > $PAGE
while [ $CONT -lt $MAX ]; do
check_linha_start $CONT >> $PAGE
print_img $CONT >> $PAGE
CONT=$[$CONT+1]
check_linha_end $CONT >> $PAGE
done
cat tail.html >> $PAGE

Observe que hove um redirecionamento da saida do cat é feito utilizando os operadores > e >>, cuja a diferença é que > apaga o arquivo antes de escrever o novo dado. A função check_linha_start checa a nescessidade de se iniciar uma linha da tabela (que deve conter 5 colunas), enquanto check_linha_end checa a nescessidade de se finalizar a linha

function check_linha_start
{
I=$[$1-1]
if (( ! $[$I%$COL] )); then
echo "<tr>"
fi
}
function check_linha_end
{
I=$[$1-1]
if (( (! $[$I%$COL]) || ($1==$MAX) )); then
echo "echo "</tr>"
fi
}

Para imprimir a imagem, utilizamos a função print_img

function print_img
{
IMG=fotos/foto-$(cont_to_var $1).jpg
SNAP=snaps/snap-$(cont_to_var $1).jpg
echo "<td><a
href="$IMG" target="_BLANK">"
echo "<img src="$SNAP">"
echo "</a></td>"
}

Os arquivos base.html e tail.html apenas abrem e fecham os tags basicos do html, mas poder ser utilizado para gerar códigos mais complexos com css, etc 😀

<html>
<body>
<table>

Agora basta apenas rodar o script e ser feliz 😀

Se você quiser, voce pode baixar o meu script aqui


EU NÃO ACREDITO

toda segunda-feira um novo episódio
Ouça em todas as plataformas
Background

Eu não acredito que masculinidade tóxica também existe entre os homens gays.

Pois é. Dentro da masculinidade presumida como ideal, quanto mais um homem gay se distancia do padrão do homem másculo mais ele tende a sofrer preconceito, inclusive dentro da comunidade gay.

Nesta semana, vamos entender como a masculinidade tóxica afeta até mesmo quem não é o famoso “macho hétero”!

DESCUBRA NESSE EPISÓDIO:
– O que é ser homem?
– O que é heteronormatividade?
– O que define a masculinidade da comunidade gay?
– Masculinidade gay tem a ver com ser ativo ou passivo?
– Existe masculinidade tóxica dentro da comunidade gay?
– Quem é gay também pode ser masculino?
– Como o machismo afeta relações homossexuais?
– É possível ser gay e machista?
– O machismo influencia os padrões de beleza e sexualidade homossexuais?
– Como a masculinidade gay é diferente da masculinidade hétero?

OFERECIMENTO
Bradesco
G-Locks Fechaduras Eletrônicas

LINKS DO PROGRAMA
BLACK FRIDAY 2020 AO VIVO – Melhores descontos
GR SHOP, cupom BLACKFRIDAY (10% nos demais produtos do site)
Podcast TERAPIA DE PERSONAGENS
Apagão – Ruas de Fúria
EU NÃO ACREDITO – Masculinidade
EU NÃO ACREDITO – Violência masculina

REFERÊNCIAS TEXTUAIS
A masculinidade tóxica e seus efeitos na comunidade LGBT (Carta Capital)
Heteronormatividade, Masculinidade e Preconceito em Aplicativos de Celular: O Caso do Grindr em uma Cidade Brasileira (Scielo)
Ney Matogrosso – Homem com H (Canal YouTube Ney Matogrosso)
Em livro de memórias, Ney Matogrosso reflete sobre a própria trajetória (Correio Braziliense)

Gostou do episódio? Mande um comentário em áudio pelo WhatsApp +55 11 98765-6950. Seu comentário poderá aparecer no podcast Serviço de Atendimento à Cavalaria (SAC).

 


mande seu comentário em áudio