Skip to content

Instantly share code, notes, and snippets.

@melissaboiko
Created March 18, 2013 17:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save melissaboiko/5189029 to your computer and use it in GitHub Desktop.
Save melissaboiko/5189029 to your computer and use it in GitHub Desktop.
script to adapt "Vocabulário na Língua Brasílica", a 1621 Portuguese / Old Tupi dictionary, from its digitalized wiki version at http://vlb.wikispaces.com/ , to tab-separated and DICT (dictd) formats.
#!/bin/bash
#
# O "Vocabulário na Língua Brasílica", de 1621, é um dicionário jesuíta
# português/tupi antigo. Uma versão digital por Ensjo está disponível em
# http://vlb.wikispaces.com/ .
#
# Este script simples adapta a versão wiki para:
# 1. formato texto .tsv, separado por tabs (bom para grep, cut e afins), e
# 2. formatos .index e .dict para o protocolo DICT (dictd, dict(1) etc.)
#
# Requisitos:
# - w3m
# - dictfmt
#
# Note que o dicionário usa ortografia do português antigo. As entradas são
# grandes então provavelmente você vai querer usar alguma estratégia parcial do
# dict, como "word".
#
# —Leonardo Boiko <leoboiko@namakajiri.net>
set -e
baseurl="http://vlb.wikispaces.com/%21"
dbname=vocbras-por-tpw
tab=" "
for letter in A B C D E F G H I L M N O P Q R S T U X Z; do
echo "Fazendo a letra $letter..." >&2
w3m -cols 99999 -dump "http://vlb.wikispaces.com/%21$letter" 2>/dev/null \
| grep -i "• $letter.*—" \
| sed -e "s/^.*• //" \
-e "s/\(.*\) *— *\(.*\)/\1$tab\2/" \
-e "s/\. *$tab/$tab/"
done > $dbname.tsv
echo "Compilando .dict e .index..." >&2
sed -e "s/\(.*\)$tab\(.*\)/:\1:\2/" < $dbname.tsv \
| dictfmt -j \
-u http://vlb.wikispaces.com \
-s "Vocabulario da Lingua Brasilica" \
--utf8 \
--locale 'pt_BR.UTF-8' \
--allchars \
$dbname
echo "Arquivos gerados: $dbname.tsv $dbname.dict $dbname.index"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment