Da dbf a bib e Jabref
Joe Oblivian
lavagetto@gmail.com
Dom 6 Nov 2005 08:33:38 CET
Il giorno 03/nov/05, alle ore 20:24, iw9cmd flavio ha scritto:
> #!/bin/bash
> entry=@Article{A_
> file=art.csv
> numlinee=`wc -l $file |cut -d" " -f1`
> i=0
> while [ $i -lt $numlinee ]
> do
> i=$(( $i + 1 ))
> linea=`head -n $i $file|tail -1`
> author=`echo $linea|tr -d \"|cut -d$ -f1`
> title=`echo $linea|tr -d \"|cut -d$ -f2`
> jour=`echo $linea|tr -d \"|cut -d$ -f3`
> year=`echo $linea|tr -d \"|cut -d$ -f4`
> vol=`echo $linea|tr -d \"|cut -d$ -f5`
> pag=`echo $linea|tr -d \"|cut -d$ -f6`
> echo $entry$i,
> echo author={$author},
> echo title={$title},
> echo journal={$jour},
> echo year={$year},
> echo volume={$vol},
> echo pages={$pag},
> echo }
intanto riscriviamolo cosi':
awk ' BEGIN {FS = "$"}; { printf "%s %s%s_%s_%s,\n %-10s %s,\n %-10s %
s,\n %-10s %s,\n %-10s %s,\n %-10s %s,\n %-10s %s,\n %s\n", "@Article
{", "A",$4,$5,$6, "author=", $1, "title=", $2, "journal=", $3,
"year=", $4, "volume=", $5, "page=", $6, "}"}' file.csv > file.bib
N.B. ho tolto l'eliminazione dei doppi apici perche' non ho ben
capito PERCHE' toglierli, dato che a bibtex non danno fastidio AFAIR
Ecco un esempio:
$cat prova.csv
Flavio Barbara$Sucone - come ho imparato a NON fare i soldi
$Cazzol.Comp.$2003$5$123$
Flavio Barbara$Sucone2 - come ho imparato a perdere i soldi
$Cazzol.Appl.$1995$456$17$
Flavio Barbara$Sucone al cubo - Come scrivere 23 righe di bash invece
di una di awk$Lista Palermo$2005$11$4$
Ecco l'effetto del mio comando:
$ awk ' BEGIN {FS = "$"}; { printf "%s %s%s_%s_%s,\n %-10s %s,\n
%-10s %s,\n %-10s %s,\n %-10s %s,\n %-10s %s,\n %-10s %s,\n %s\n",
"@Article{", "A",$4,$5,$6, "author=", $1, "title=", $2, "journal=",
$3, "year=", $4, "volume=", $5, "page=", $6, "}"}' prova.csv
@Article{ A2003_5_123,
author= Flavio Barbara,
title= Sucone - come ho imparato a NON fare i soldi,
journal= Cazzol.Comp.,
year= 2003,
volume= 5,
page= 123,
}
@Article{ A1995_456_17,
author= Flavio Barbara,
title= Sucone2 - come ho imparato a perdere i soldi,
journal= Cazzol.Appl.,
year= 1995,
volume= 456,
page= 17,
}
@Article{ A2005_11_4,
author= Flavio Barbara,
title= Sucone al cubo - Come scrivere 23 righe di bash invece di
una di awk,
journal= Lista Palermo,
year= 2005,
volume= 11,
page= 4,
}
(per favore usate MUA con font a larghezza fissata in modo da
apprezzare l'impaginazione dell'output, e' una cosa che ho appena
imparato e ne sono fiero :-P)
Ovviamente se si vogliono includere altri campi o una sintassi piu'
complessa bisognera' usare la anche bash o -meglio- il pirl, che
pero' io non conosco...
TAKLIIII...
Ciao
Joe
Maggiori informazioni sulla lista
palermo