você está aqui: Home  → Arquivo de Mensagens

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.


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

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script