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.