De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


sed - apagar texto de uma posição até o final do arquivo

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 24 de agosto de 2015

Além da Dicas-L eu mantenho também uma lista diária com piadas e citações em inglês, chamada EFR2. Eu faço a seleção dos textos, sempre com muito cuidado para evitar ofender suscetibilidades, e envio para um amigo fazer as gravações. As mensagens são enviadas com o texto em si e com uma ajuda de vocabulário, para facilitar o entendimento e aumentar o vocabulário em inglês do assinante.

Para a formatação, eu uso o poderoso txt2tags, de autoria do Aurélio Jargas.

Um texto típico, com a marcação txt2tags:

=School Question=

**Mother**: "Why are you home from school so early?"  
**Son**: "I was the only one who could answer a question."
**Mother**: "Oh, really? What was the question?"
**Son**: "Who threw the eraser at the principal?" ==Vocabulary Help== - answer - responder - early - cedo - eraser - apagador - mother - mãe - only - apenas - principal - diretor da escola - school - escola - son - filho - throw (throw, threw, thrown) - jogar, arremessar - why - porque

Para a gravação, eu preciso gerar um arquivo mais simples, sem a ajuda de vocabulário (Vocabulary Help). Para remover esta seção, eu uso o sed e especifico que tudo que estiver após as palavras ==Vocabulary Help==, deve ser apagado.

Para isto, uso um script bem simples:

#!/bin/bash

:> efr2_2016.t2t

for f in 2016*t2t
  do
   sed '/==Vocabulary Help==/,$d' $f >> efr2_2016.t2t
  done

O comando :> efr2_2016.t2t zera o conteúdo do arquivo. Como o script gera todo o conteúdo novamente, se o arquivo não for zerado o conteúdo da execução anterior permanece no arquivo.

O comando "sed '/==Vocabulary Help==/,$d' $f" é o que faz a mágica. O sed procura no arquivo pelas string ==Vocabulary Help== e apaga todo o conteúdo a partir desta linha até o final do arquivo, o que é indicado pela diretiva $d.

Com o arquivo preparado, eu gero a versão html com o comando txt2tags:

txt2tags -t html --no-header efr2_2016.t2t

Abro o arquivo gerado (efr2_2016.html) em um browser, copio e colo em um editor de texto, faço alguns ajustes finais e gero um arquivo PDF para envio ao meu amigo que irá providenciar a gravação do áudio.

Veja também

  • Portal do Aurélio: no Brasil (acho que também no mundo) quem sabe tudo de sed é o Aurélio :-)
  • Portal txt2tags
  • Portal Aprendendo Inglês
  • Para assinar a lista efr2, para o desenvolvimento da habilidade de leitura da língua inglesa, envie um email vazio para o endereço <efr2-subscribe (a) yahoogroups com>. Esta lista tem hoje aproximadamente 35.000 assinantes e está no ar desde 1999.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rubens Queiroz de Almeida