$ vi livro-sed.txt

Amiguinhos, MUITO OBRIGADO a todos que mandaram sugestões, eu finalmente me decidi e gostaria de avisar que ontem comecei a trabalhar no meu próximo livro, que será sobre o comando sed.

Eu sei que estou atrasado, eu sei que isso já deveria estar pronto há anos, e é deprimente perceber quanto tempo passou sem eu ter feito um livro novo. O Shell Script Profissional é de abril de 2008! Mas é assim que funciona, durante estes anos não deu o tesão de escrever, e sem tesão não tem ação, é um loop infinito de escreve-apaga-escreve-apaga e nunca sai do lugar.

Felizmente a abstinência terminou e agora estou aqui, empolgadíssimo para ficar semanas (meses?) enclausurado, escrevendo um livrinho novo. A escolha do tema favoreceu muito a volta da inspiração, pois o sed é meu comando Unix preferido e posso ficar horas falando sem parar sobre ele :)

O sed é uma ferramenta que, após uma década, continuo usando quase que diariamente. Sempre tem algum texto pra limpar, pra reformatar, pra apagar algum pedaço e quando vejo lá estou eu na tela preta digitando algum comando sed. Esse é um filme mais repetido que Curtindo a Vida Adoidado na Sessão da Tarde :)

Uso o sed porque é útil e porque eu gosto. Ele é um bichinho estranho, que parece alienígena, mas esconde uma simplicidade bela, que só quem o conhece bem sabe admirar (tipo o Vim). E quando combinado com expressões regulares, mostra seu verdadeiro poder e faz mágicas.

Já cheguei ao cúmulo de fazer joguinho com sed, mas hoje sou mais moderado :)

O sed foi importante desde o ínicio de minha carreira: foi a primeira ferramenta do Unix que aprendi a dominar, quando ainda era estagiário. Ser o “guru do sed” dentro da empresa (Conectiva) significou muito para mim na época. Foi por causa do sed que tive que aprender expressões regulares, as Funções ZZ usam sed no lugar de outras ferramentas para garantir compatibilidade entre sistemas e o txt2tags só existe porque um dia eu quis escrever um sed-HOWTO em SGML. Mais detalhes sobre essas histórias no post 10 anos: Sed.

$ ls -1 zz* | wc -l             # Nas 125 funções ZZ…
     125
$ grep -w sed zz* | wc -l       # …o sed é usado 331 vezes!
     311

Enfim, o sed estava lá desde o começo, participou das minhas criações mais importantes e continua firme e forte na minha rotina. Fazendo esse retrospecto, fica claro que é minha obrigação moral retribuir e fazer esta homenagem à ferramenta, fechando a trinca de livros: Shell + Sed + Expressões Regulares.

  • Eu sei que sed é um assunto de nicho.
  • Eu sei que o público é restrito.
  • Eu sei que vai vender pouco.

Mas tudo bem, quero fazer este livro de qualquer jeito. Não quero morrer com este conhecimento guardado na cabeça. Quero poder “mostrar a luz” do sed para outros nerds.

Já fiz vários documentos sobre o sed, inclusive um livro inacabado, mas falta a obra definitiva: um texto completo, coeso, que parte do zero e ensina como funciona e como usar. E claro, o mais importante: o texto tem que ser leve e divertido, como uma conversa entre amigos. Detesto livros técnicos chatões.

O trabalho começou ontem, mas a escrita de verdade ainda leva um tempo. Esta fase inicial é de ambientação e planejamento. Estou definindo a forma do livro e sua didática: que assuntos vai ter, em que ordem, como será a narrativa, os exemplos, qual será o nível técnico, o público-alvo, essas coisas. Preciso primeiro “enxergar” o livro todo, do início ao fim, e quando essa massa imaginária de ideias toma forma e fica consistente, formando um ensinamento coeso de complexidade crescente, então estarei pronto para começar a escrever. Considero esta parte inicial a mais importante e difícil. Escrever o texto é a parte fácil.

Então, agora, mais do que em qualquer outra parte o processo, é a hora certa para você ajudar. Como a forma final ainda não foi definida, esta é a fase em que estou mais influenciável :) Por favor, use a caixa de comentários para dar sua opinião e suas ideias:

  • O que você gostaria de aprender sobre o sed?
  • Quais suas dificuldades?
  • Quais tarefas você gostaria de usar o sed mas não sabe como?
  • O que te impede de aproveitar melhor o sed?
  • Como é seu uso atual do sed? Usa para quais tarefas?
  • Fora o s///, usa outros comandos?
  • Em qual sistema você usa(ria) o sed: Linux, Mac, Windows, Unix, outro?
— EOF —

Gostou desse texto? Aqui tem mais.