Converter arquivo bibtex para texto formatado e vice-versa
Publicado por Iago Lira (última atualização em 28/06/2018)
[ Hits: 6.702 ]
Homepage: https://notabug.org/iagolira/
Resumo:
Para você, que trabalha com elaboração de livros, artigos ou trabalhos (escolares ou universitários), precisa constantemente referenciar obras, livros ou artigos em suas bibliografias.
Então, se você é um iniciante, você poderá usar ou modificar este script para suas necessidades.
Com este você irá montar sua bibliografia, tanto para Latex, Word, Libre(BR)Office etc, facilmente.
Exemplo de entradas:
Obs.: dê autorização de execução do script: chmod +x bib2text.sh
1) Para ver as opções disponíveis digite: ./arquivo.sh
2) Para entrar com os valores manualmente digite: ./bib2text.sh -f 1 -b 2
3) Para converter um arquivo bib para texto formatado (modelo: -b 2 -> livro e -b 1 -> artigo): ./bib2text.sh -f nome.bib -b 2
#!/bin/bash
#+----------------------------------+
#|Program: bib2text |
#|Version: 1.0.1 |
#|Autor: Francisco Iago Lira Passos |
#|Data: 03-06-2018 |
#+----------------------------------+
function bib2text()
{
#Begin: aliases
author=$(grep -iE author $1 | grep -io -P '(?<={).*(?=},)' | sed 's/[aA]nd/e/g')
titulo=$(grep -iE title $1 | grep -io -P '(?<={).*(?=},)')
journal=$(grep -iE journal $1 | grep -io -P '(?<={).*(?=},)')
volume=$(grep -iE volume $1 | grep -io -P '(?<={).*(?=},)')
issue=$(grep -iE issue $1 | sed 's/[^0-9]//g')
publisher=$(grep -iE publisher $1 | grep -io -P '(?<={).*(?=},)')
edition=$(grep -iE edition $1 | sed "s/^//g" | grep -io -P '(?<={).*(?=},)')
year=$(grep -iE year $1 | grep -io -P '(?<={).*(?=})')
doi=$(grep -iE doi $1 | grep -io -P '(?<={).*(?=},)')
echo "$author. $titulo. $journal $volume, $issue, $publisher, $edition, $year, $doi."
#End: aliases
}
function text2bib()
{
#Begin: aliases
if [ "$1" == "1" ]; then
while :
do
read -p "Digite uma aliase para o arquivo bib: " ali
[[ -f $ali.bib ]] && { echo "Arquivo existente, por favor, digite outro nome." ; continue ; } || break
done
read -p "Digite o(s) autor(es) (ex: Passos, FIL): " author
read -p "Digite o título: " titulo
read -p "Digite o jornal: " journal
read -p "Digite o volume: " volume
read -p "Digite o ISSUE: " issue
read -p "Digite a publicadora: " publisher
read -p "Digite a edição: " edition
read -p "Digite o ano do jornal: " year
read -p "Digite a DOI: " doi
echo "
@Article{$ali,
author = {$author},
title = {$titles},
journal = {$journal},
year = {$year},
OPTpublisher = {$publisher},
OPTkey = {},
OPTvolume = {},
OPTissue = {$issue},
OPTnumber = {},
OPTpages = {},
OPTmonth = {},
OPTnote = {},
OPTannote = {}
OPTdoi = {$doi}
}" >> $ali.bib
elif [ "$1" == "2" ]; then
while :
do
read -p "Digite uma aliase para o arquivo bib: " ali
[[ -f $ali.bib ]] && { echo "Arquivo existente, por favor, digite outro nome." ; continue ; } || break
done
read -p "Digite o(s) autor(es): " author
read -p "Digite o título: " titulo
read -p "Digite o volume (ex.: volume 1): " volume
read -p "Digite a publicadora: " publisher
read -p "Digite a edição: " edition
read -p "Digite o ano do livro: " year
echo "
@Book{$ali,
author = {$author},
title = {$titulo},
publisher = {$publisher},
year = {$year},
OPTvolume = {$volume},
OPTaddress = {},
OPTedition = {$edition},
OPTmonth = {},
OPTnote = {}
}" >> $ali.bib
fi
cat $ali.bib
echo "$author. $titulo, $volume. $publisher, $year."
#End: aliases
}
function erro()
{
echo "
+-------------------------------------------------------+
| Para você ter uma boa experiência com o script |
| siga um dos seguintes passos: |
+-------------------------------------------------------+
| [1] $ chmod +x bib2text.sh |
| [2] $ ./bib2text.sh -f <file.bib|1> -b <1|2> |
| |
| Opção -f |
| file.bib -> arquivo bib de um único jornal |
| 1 -> saída para entrada manual |
| Opção -b |
| 1 -> artigo |
| 2 -> livro |
+-------------------------------------------------------+"
}
case $2 in
"1") text2bib $4
;;
*.bib) bib2text $2
;;
*) erro
;;
esac
Instalar flash Player no google chromium ubuntu 14.04
Perifericos Hardware na terminal
Instalando o Xen 4.0 no Debian 6 64 bits
OPL Manager para Linux em SHELL
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
É normal não gostar de KDE? (9)
Linux é a solução para o fim do Windows10? (2)
Problemas com Driver NVIDIA (4)









