Konverzija podataka
Jednostavna detekcija krivih podataka u poljima: Revision 3
Najprije treba napraviti dump svih podataka. Za to postoji skripta dump_libri.sh u kojoj su naredbe za dump podataka za svaku pojedinačnu knjižnicu, npr. za anglistiku: dump_isisdb.pl /backup/isis_backup/A105-1/isisdata/latest/LIBRI/LIBRI > /data/isis_data/an/dump.fflibri na taj smo dobili tekstualne datoteke koje možemo dalje procesirati. Ovdje ćemo navesti linux shell komande uz pomoć kojih možemo dobiti upotrebljive i jednostavne ispise podataka: Detekcija krivih datuma unosanaredbom grep ^994.*^c /data/isis_data/*/dump.fflibri | sed -e 's/.*^c\(.*\)/\1/g' | sort -nr | uniq -c dobiva se popsi svih podataka u polju 994^c Rezultat spremimo u datoteku, izbrišemo sve slučajeve koji su dobri, a ostavimo krive i snimimo to u tablicu krivi_datum_unosa.xls U conf/mjesec.yml dodamo ove linije: za tablicu s greskama: datumi: name: 'Nevaljali datumi' input: - name: tablica type: excel path: '/data/isis_data/greske/datum_unosa.xls' encoding: 'windows-1250' normalize: - path: 'conf/normalize/common.pl' i za svaku pojedinačnu bazu: ffiz: name: 'Informacijske znanosti, Filozofski fakultet u Zagrebu' input: - name: libri type: isis path: '/backup/isis_backup/A129-2/isisdata/latest/LIBRI/LIBRI' encoding: 'cp852' normalize: - path: 'conf/normalize/report-sorted-txt.pl' output: - module: 'Sorted' path: 'out/report/mfn/iz/' u normalizacijskoj datoteci treba stajati ovaj kod: my $datum = lookup( sub { 1 }, 'datumi','tablica', sub { rec('A') }, sub { rec('994','c') } ); if ( $datum ) { sorted('mfn s krivim datumom', join_with(' - ', prefix('MFN ', rec('000'), ), rec('994','c'), ) ); } Detekcija krivih godinaNaredbom: grep ^210.*^d /data/isis_data/*/dump.fflibri | sed -e 's/.*^d\(.*\)/\1/g' | sort -nr | uniq -c dobivamo popis svih podataka u polju 210^d ostatak postupka isti je kao i za datume, s odgovarajućim konfiguracijskim parametrima |