bookmark – um marca páginas
Quando eu estava lendo as Institutas da Religião Cristã com o less (no terminal, mesmo), eu vivia dizendo “echo 1234 > ~/bookmark”. Daí, para tornar tudo mais fácil e divertido, criei o script que se segue.
Ele, por enquanto, só faz o controle de um livro, mas já é bem legal. Ele faz um cálculo de quanto tempo e quantas linhas você leu, o que é bem interessante de se ver.
A propósito, ele precisa de muitas melhorias. Mas funciona muito bem. Use-o assim:
# bookmark 321 – anota a página em que você parou
# bookmark -v – mostra a página em que você parou
# bookmark -d – limpa todos os registros (quando você passar a ler outro livro)
#!/bin/bash
bookmark_file=~/.bookmark
statistics_file=~/.bookmark_statistics
if [[ $1 == "" ]];then
echo “Uso: $(basename $0) [linha|-v|-d]”
exit 1
elif [[ $1 == "-v" ]];then
if [[ -f $bookmark_file ]];then
source $bookmark_file
echo $last_linha
exit 0
else
echo “Nenhum registro.”
exit 2
fi
elif [[ $1 == "-d" ]];then
[[ -f $bookmark_file ]] && rm $bookmark_file
[[ -f $statistics_file ]] && rm $statistics_file
exit 0
elif [[ $1 == "-a" ]];then
calcula_media
exit
else
linha=$1
fi
dia=$(date +”%d”)
mes=$(date +”%m”)
ano=$(date +”%y”)
horas=$(date +”%H”)
minutos=$(date +”%M”)
if [[ -f $bookmark_file ]];then
source $bookmark_file
else
last_linha=$linha
last_dia=$dia
last_mes=$mes
last_ano=$ano
last_horas=$horas
last_minutos=$minutos
touch $bookmark_file
fi
dif_linhas=$(($linha – $last_linha))
dif_dia=$(($dia – $last_dia))
dif_mes=$(($mes – $last_mes))
dif_ano=$(($ano – $last_ano))
dif_horas=$(($horas – $last_horas))
dif_minutos=$(($minutos – $last_minutos))
echo -n > $bookmark_file
echo “last_linha=$linha” >> $bookmark_file
echo “last_dia=$dia” >> $bookmark_file
echo “last_mes=$mes” >> $bookmark_file
echo “last_ano=$ano” >> $bookmark_file
echo “last_horas=$horas” >> $bookmark_file
echo “last_minutos=$minutos” >> $bookmark_file
# O arquivo de estatísticas deverá ser interpretado linha a linha:
echo “dia=$dia;mes=$mes;ano=$ano;horas=$horas;minutos=$minutos;linha=$linha;dif_linhas=$dif_linhas;dif_dia=$dif_dia;dif_mes=$dif_mes;dif_ano=$dif_ano;dif_horas=$dif_horas;dif_minutos=$dif_minutos” >> $statistics_file
# No fim, informa alguns dados:
echo “Linhas: $dif_linhas;Dias: $dif_dia+$dif_horas:$dif_minutos”
function calcula_media () {
# TODO: fazer tudo…
}

