automatizando tarefas com bash script

22
OpenLabs by #OpenDev

Upload: rennan-cockles

Post on 13-Apr-2017

203 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Automatizando tarefas com bash script

OpenLabsby #OpenDev

Page 2: Automatizando tarefas com bash script

AUTOMATIZANDO TAREFAS COM BASH SCRIPT

Rennan Cockles

OpenLabsby #OpenDev

Page 3: Automatizando tarefas com bash script

O QUE É BASHUma implementação do shell

OpenLabsby #OpenDev

03/05/2023 3

BOURN AGAIN SHELL

Sh (Bourne Shell) melhoradoComandos interativos / programaçãoProgramação tipo LEGOComando3 = Comando1 + Comando2

Page 4: Automatizando tarefas com bash script

HELP$ whatis command

OpenLabsby #OpenDev

03/05/2023 4

$ command --help

$ man command

$ apropos keyword

Page 5: Automatizando tarefas com bash script

PROGRAMANDO EM BASH

OpenLabsby #OpenDev

Page 6: Automatizando tarefas com bash script

shebang#! /bin/sh

#! /bin/bash

OpenLabsby #OpenDev

03/05/2023 6

Page 7: Automatizando tarefas com bash script

functionfunction hello { echo oi $1;}

$ hello OpenLabsoi OpenLabs

OpenLabsby #OpenDev

03/05/2023 7

Page 8: Automatizando tarefas com bash script

if..elif..elseif test EXPRESSION; then echo if;elif [ EXPRESSION ]; then echo elif;else echo else;fi

OpenLabsby #OpenDev

03/05/2023 8

Page 9: Automatizando tarefas com bash script

forfor ((i=1; i<=10; i++)); do echo $i;done

for i in `seq 1 10`; do echo $i;done

OpenLabsby #OpenDev

03/05/2023 9

Page 10: Automatizando tarefas com bash script

whileCOUNT=0;while [ $COUNT -lt 5 ]; do echo count = $COUNT; let COUNT=COUNT+1done

OpenLabsby #OpenDev

03/05/2023 10

Page 11: Automatizando tarefas com bash script

whileCOUNT=0;while read line; do let COUNT++; echo line $COUNT - $line;done < file

OpenLabsby #OpenDev

03/05/2023 11

Page 12: Automatizando tarefas com bash script

untilCOUNT=0;until [ $COUNT = 5 ]; do echo count = $COUNT; let COUNT=COUNT+1done

OpenLabsby #OpenDev

03/05/2023 12

Page 13: Automatizando tarefas com bash script

caseCOUNT=2;case $COUNT in 1) echo um;; 2) echo dois;; 3) echo tres;; *) echo outro;;esac

OpenLabsby #OpenDev

03/05/2023 13

Page 14: Automatizando tarefas com bash script

Mãos à obra

OpenLabsby #OpenDev

Page 15: Automatizando tarefas com bash script

INPUTName,Status"Claudia Schuenck",Comparecerão"Thaís Rochah",Comparecerão"Felipe Martins",Comparecerão"Maria Clara Ornelas",Comparecerão"Nicolle Guerreiro Chaboudet",Comparecerão"Ana Carolina Organista Cörner",Comparecerão"Diogo Antunes",Comparecerão"Lucas Tardin",Comparecerão"Nélio Viana",Comparecerão. . .

OpenLabsby #OpenDev

OUTPUT 1 Adriana Santos 2 Adriana Silva 3 Adriano Brito 4 Adriene Sanches 5 Alana Melo 6 Alan Da Cruz Azevedo 7 Alessandro Martins Alves Debeu 8 Alexandre Mattos Faria 9 Alexsandro Bussinger 10 Alex Schuindt

. . .

SCRIPT#!/bin/bashtail -n +2 input | cut -d',' -f1 | tr -d "\"" | sort | nl

Manipulando arquivo de texto

Page 16: Automatizando tarefas com bash script

INPUTFiles/ARQUIVO de TESTE.txt file 1 FiLe 2 Mais um arquivo - test.csv

OpenLabsby #OpenDev

OUTPUTFiles/arquivo_de_teste.txt file_1 file_2 mais_um_arquivo_-_test.csv

SCRIPT#!/bin/bashfor f in *; do [ -f "$f" ] && mv "$f" "$(echo $f | tr '[:upper:] ' '[:lower:]_')"; done 2> /dev/null

Renomeando arquivos

Page 17: Automatizando tarefas com bash script

INPUThttps://www.packtpub.com

Todo dia um ebook gratuito é liberado no site

OpenLabsby #OpenDev

OUTPUTTítulo do ebook gratuito do dia

SCRIPT#! /bin/bash

curl -s https://www.packtpub.com/packt/offers/free-learning | grep dotd-title -A 2 | tr "\n" "; " | tr -d "\t" | cut -d ";" -f3 | cut -d '<' -f1

Free ebook

Page 18: Automatizando tarefas com bash script

INPUThttp://www.filmesmonster.com

Site para download de filmes em torrent

OpenLabsby #OpenDev

OUTPUTLista dos filmes disponíveis para download

SCRIPT#! /bin/bash

filmes="$(curl -s www.filmesmonster.com | hxnormalize -x | hxselect -i 'h2.entry-title')"

echo $filmes | lynx -stdin -dump | grep '\['

Filmes torrent

Page 19: Automatizando tarefas com bash script

INPUThttp://www.filmesmonster.com

Site para download de filmes em torrent

OpenLabsby #OpenDev

OUTPUTLista dos filmes disponíveis para download

SCRIPT#! /bin/bash

filmes="$(curl -s www.filmesmonster.com | hxnormalize -x | hxselect -i 'h2.entry-title')"

echo $filmes | lynx -stdin -dump | grep '\['

Backup simples

Page 20: Automatizando tarefas com bash script

E AGORA?Pense em suas tarefas cotidianas Encontre algo para automatizarElaboreTente, experimente

OpenLabsby #OpenDev

03/05/2023 20

Page 21: Automatizando tarefas com bash script

ContatosEmail:

rcdev @ hotmail . com . br

Telegram:@RCockles

OpenLabsby #OpenDev

03/05/2023 21

Page 22: Automatizando tarefas com bash script

OpenLabsby #OpenDev

Obrigado!