O jeito Shell Script de resolver problemas — Parte 2

→ Parte1Parte 3

Você tem um arquivo.
Você precisa extrair dados deste arquivo.
Linha de comando na cabeça!

Python, Ruby, PHP, JavaScript? Não.
C, C++? Fala sério!
Shell.

Um grep aqui, um sed ali.
Uma pitada de expressões regulares.
Problema resolvido.

Sorriso no rosto.
Dados no bolso.
Entoa o refrão:

Não precisa ser perfeito.
Não precisa ser polido.
Só precisa funcionar.

Resumo dos comandos:

  • grep — extrai linhas
  • cut — extrai colunas
  • sed — edita linhas
  • tr — troca caracteres

Histórico:

tail -n 50 changelog.t2t
grep ^: changelog.t2t
grep ^: changelog.t2t | sed 's/^: //'
grep ^: changelog.t2t | cut -c 3-10
grep ^: changelog.t2t | cut -c 3-
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]'
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | grep v
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | grep v | sed 's/^v/200/'
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | grep v | sed 's/^v/200/' | tr . -
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | grep v | sed 's/^v/200/' | tr . - | sed 's/./&x/'
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | grep v | sed 's/^v/200/' | tr . - | sed 's/./&x/2'
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | grep v | sed 's/^v/200/' | tr . - | sed 's/./&x/6'
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | grep v | sed 's/^v/200/' | tr . - | sed 's/./&x/7'
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | sed 's/^v/200/' | tr . - | sed 's/./&-/7'
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | sed 's/^v/200/' | tr . - | sed 's/./&-/7' | sed 's/--/-/'
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | sed 's/^v/200/' | tr . - | sed 's/./&-/7' | sed 's/--/-/' | grep ..........
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | sed 's/^v/200/' | tr . - | sed 's/./&-/7' | sed 's/--/-/' | egrep '.{10}'
grep ^: changelog.t2t | cut -c 3- | grep '[0-9]' | sed 's/^v/200/' | tr . - | sed 's/./&-/7' | sed 's/--/-/' | grep .......... > /tmp/lista.txt
Related Posts Plugin for WordPress, Blogger...
Publicado em por Aurelio Jargas e arquivado em Nerd, Vídeo-aula (screencast) com as tags , , , .

6 respostas a O jeito Shell Script de resolver problemas — Parte 2

  1. Beto disse:

    Muito bom! Isso deveria virar uma serie :D

    []s

  2. Sandro M. Silva disse:

    Parabéns aurelio você sempre trás algum conteúdo útil e que nos incentiva a aprender mais sobre o assunto, seus vídeos são algo que não importa a simplicidade do problema mas sempre coloco em tela cheia e assisto cada segundo com total atenção porque você consegue prender a atenção no vídeo com seu dom em ensinar e explicar de forma fácil e com uma linguagem simples.

  3. Fellipe Antonio disse:

    Cara, vou colocar nos favoritos, esse blog é muito massa, continue assim Aurelio Jargas…

  4. No começo a gente fica um pouco tímido e nao muito confiante em resolver problemas pela linha de comando, e recorremos muito a nossa linguagem mãe (C, C++, Java ou outra que tenha aprendido antes).

    Mas é importante insistir nessas ferramentas (sed, awk, grep…). Ela são muito, mas muito eficientes.
    Mera questão de treino.

    Que bom que mostrou um vídeo, pra mostrar que é possível.
    Só levei fé que se poderia fazer um trabalho eficiente usando o vi/vim quando realmente vi alguém usando.

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>