User Tools

Site Tools


utilitarios_cisis

Utilitarios CISIS

Los utilitarios CISIS son un conjunto de aplicaciones (entre 25 y 30, según la versión y la plataforma), que permiten la manipulación a “bajo nivel” de bases de datos ISIS. Mediante estas herramientas, es posible realizar algunas de las tareas para las que se utiliza MicroIsis o Winisis (e.g., búsquedas, generación del archivo invertido, modificación de datos, exportación/importación de archivos ISO 2709), así como muchas otras que estos programas no contemplan.

El utilitario de uso más frecuente es mx, debido a su variada funcionalidad. También se usan habitualmente:

  • msrt, para ordenar archivos maestros,
  • i2id e id2i, para convertir bases ISIS en archivos de texto, y viceversa,
  • ifkeys, para obtener un listado de términos del diccionario.
  • crunchmf y crunchif, para convertir archivos maestros e invertidos, respectivamente, de una plataforma a otra (e.g., de Windows a Linux).
  • mxf0, para generar un informe sobre registros, campos y caracteres presentes en una base.

Estos utilitarios fueron desarrollados por Bireme, y su distribución es gratuita. El código fuente permanece cerrado.

Versiones

A julio de 2007, la última versión disponible es la 5.2, con las siguientes variantes:

  • Estándard (10/30). Maneja archivos maestros (.mst) con registros de hasta 32 Kbytes de tamaño — totalmente compatible con CDS/ISIS for Windows. Posee claves cortas de hasta 10 caracteres y claves largas de 11 a 30 caracteres.
  • Claves grandes (16/60). Idem a la versión estándard, excepto por los tamaños de las claves. La clave corta puede tener hasta 16 caracteres y la clave larga de 17 a 60 caracteres.
  • LIND (16/60). Idem a la versión de claves grandes, excepto por los recursos de búsqueda con restricción de campo, búsqueda por ocurrencia y por proximidad. Estos recursos fueron eliminados en favor del desempeño de la búsqueda y el tamaño del archivo invertido. Las extensiones de algunos archivos que componen el invertido fueron alteradas para permitir una fácil identificación.
  • FFI (16/60). Idem a la versión LIND, excepto por el archivo maestro que fue alterado en su estructura de control para permitir registros de hasta 1 Mbyte de tamaño, tornándose incompatible con el de CDS/ISIS en cualquiera de sus versiones hasta esta fecha.

crunchif

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility CRUNCHIF
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

crunchif <dbn> <target_dbn> [<option> [...]]

options:

 -ifp                     -> don't crunch .ifp file
 /ifp                     -> crunch .ifp file if needed
 tell=<n>                 -> tell <n> records processed

 target={linux|hpux|sun|alpha|vax|unisys|mpe|cdc|pc}  default: linux

crunchmf

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility CRUNCHMF
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

crunchmf <dbn> <target_dbn> [<option> [...]]

options:

 {from|to|loop|count|tell}=<n>

 target={pc|linux|hpux|sun|alpha|vax|unisys|mpe|cdc|same}  default: linux

 format={isis|cisisX}                                      default: isis

 mstxl={0|1|2|4}                                           default: as <dbn>

ctlmfn

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility CTLMFN
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

ctlmfn <dbn>

i2id

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility CTLMFN
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

ctlmfn <dbn>

id2i

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility ID2I
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

id2i <filein> [create[/app]=]<dbout> [option [option] ... ]

options: {from/to/loop/count/offset/tell/id}=<n>


The logical record of <filin> has the format:

!ID mmmmmm
!vXXX!...contents of tag XXX.............
!vYYY!...contents of tag YYY.............
...

where mmmmmm is the MFN to be loaded

The contents of a tag may be split in 2 or more lines

ifkeys

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility IFKEYS
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

ifkeys <dbname> [from=<key>] [to=<key>] [+tags]

 <dbname>   input inverted file
 from=<key> starting key
 to=<key>   ending key
 +tags      output tag information
 tell=<n>   produce a message every each <n> keys

 Displays the dictionary terms preceeded by the total number of postings

ifload

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility IFLOAD
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

ifload <dbname> {<file_lk1>|void} {<file_lk2>|void} [<option> [...]]

 <dbname>               -> output inverted file
 <file_lk1>             -> sorted 10-byte link file
 <file_lk2>             -> sorted 30-byte link file

options:

 master=<name>          -> alternate master file
 -reset                 -> keep IF update is pending
 -posts                 -> do not load .ifp
 -balan                 -> do not rebalance the dict
 tell=<n>               -> tell <n> links has been loaded
 +fix[/m]               -> read fixed link records

ifmerge

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility IFMERGE
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

ifmerge <out> <if1>[,n1] <if2>[,n2] [...] [<option> [...]]

 <out>                  -> output inverted file
 <if1>[,n1]             -> input inverted file #1, maxmfn#1
 <if2>[,n2]             -> input inverted file #2, maxmfn#2
  ...

options:

 +mstxrf                -> create <out> M/F and its mstxrf <out>.pft
 -posts                 -> do not load .ifp
 -balan                 -> do not rebalance the dict
 tell=<n>               -> tell <n> keys has been loaded

mx

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility MX
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

mx [cipar=<file>] [{mfrl|load}=<n>] [cgi={mx|<v2000_fmt>}] [in=<file>]
   {[db=]<db>|
    seq[/1m]=<file>|
    iso[={marc|<n>}]=<isofile> [isotag1=<tag>]|
    dict=<if>[,<keytag>[,<posttag>[/<postsperrec>]]] [k{1|2}=<key>]}

options:
   from|to|loop|count|tell|btell=<n>
   text[/show]=<text>
   [bool=]{<bool_expr>|@<file>}  [invx=<tag101_mf>] [tmpx=<tmp_mf>]

   gizmo=<gizmo_mf>[,<taglist>]  [gizp[/h]=<out_mfx>] [decod=<mf>]

   join=<mf>[:<offset>][,<taglist>]=<mfn=_fmt>
   join=<db>[:<offset>][,<taglist>]=<upkey_fmt> [jmax=<n>]
   jchk=<if>[+<stwfile>]=<upkey_fmt>

   proc=[<proc_fmt>|@<file>]

         D{<tag>[/<occ>]|*}
         A<tag><delim><data><delim>
         H<tag> <length> <data>
         <TAG[ <stripmarklen>[ <minlen>]]><data></TAG>

         S[<tag>]
         R<mf>,<mfn>
         G<gizmo_mf>[,<taglist>]
         Gsplit[/clean]=<tag>[={<char>|words|letters|numbers|trigrams}]
         Gsplit=<tag>=6words[/if=<if>]
         Gload[/<tag>][/nonl][=<file>]
         Gmark[/<tag>]{/<elem>|/keys|/decs|/<mf>,<otag>[,<ctag>]}=<if>
         Gmarx[/<tag>]/<elem>[@<att>="x"] =<tag>[:&[<att>]|/c[=224]|/i]
         Gdump[/<tag>][/nonl][/xml][=<file>]
         =<mfn>
         X[append=]<mf>

   convert=ansi [uctab={<file>|ansi}]         [actab={<file>|ansi}]
   fst[/h]={<fst>|@[<file>]}                  [stw=@[<file>]]

   [mono|mast|full] {create|copy|append|merge|updatf}=<out_mf>
   [out]iso[={marc|<n>}]=<out_isofile>        [outisotag1=<tag>]
   fullinv[/dict][/m][/ansi]=<out_if> [-reset]
   ln{1|2}=<out_file>                         [+fix[/m]]
   fix=<out_file> tbin=<tag>
   tab[/lines:100000/width:100/tab:<tag>]=<tab_fmt>
   prolog|pft|epilog={<diplay_fmt>|@<file>}   [lw={<n>|0}]

   {+|-}control|leader|xref|dir|fields|all    [now] [mfrl]

msrt

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility MSRT
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

msrt <dbname> <keylen> <keyfmt> [-mfn] [tell=<n>]

 <dbname> master file to be sorted in place or <dbn>,<0>
 <keylen> sort key length
 <keyfmt> format specification to generate sort keys or tag=<n>

 -mfn     keep the original MFNs
 +del     delete duplicate tag=<n> keys
 tell=<n> produce a message to the stderr every each <n> keys

mxcp

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility MXCP
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

mxcp {in=<file>|<dbin>} [create=]<dbout> [<option> [...]]

options: {from|to|loop|count|tell|offset}=<n>
         gizmo=<dbgiz>[,tag_list>]
         undelete
         clean [mintag=1] [maxtag=9999]
         period=.[,<tag_list>]
         repeat=%[,<tag_list>]
         log=<filename>


 Ex: mxcp in create=out clean period=.,3 repeat=;,7

      in = 3 «   Field 3 occ 1. »
           3 «Field 3 occ 2 . »
           7 « Field 7/1;Field 7/2 ;Field 7/3.»

     out = 3 «Field 3 occ 1»
           3 «Field 3 occ 2»
           7 «Field 7/1»
           7 «Field 7/2»
           7 «Field 7/3.»

mxf0

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility MXF0
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

mxf0 <dbname> [create=]<dbnout> [<tnrecs>] [noedit] [tell=<n>] [total]

 <dbname> input master file
 <dbnout> output master file for results
 <tnrecs> expected number of input records (default=0)

 noedit   suppress all leading spaces in the output data fields
 tell=<n> produce a message to the stderr every each <n> input records

 The following tags are output to <dbnout>:

  1001: input master file name
  1003: date & time stamp
  1009: total number of records
  1010: number of active records
  1011: number of logically deleted records
  1012: number of physically deleted records
  1013: next MFN to be assigned
  1020: ^tTAG ^dDOCS ^oOCCS ^lMINLEN ^uMAXLEN ^nDATA BYTES
  1030: ^tall ^xCHRCODE ^nCHRFREQ

 Exit code is 0 if the total number of records is equal to <tnrecs>

mxtb

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility MXTB
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

mxtb <dbn> [create=|append=]<dbnout> <key> [<key> ...] [<option> [...]]

keys:    keylen:key_fmtspec

options: {from|to|loop|count|tell|btell}=<n>
         tab=<tab_val_fmt>
         mfnsum=<#levels> [{min|max}{avg|freq}=<n>]
         class=1000
         bool=<expr>
         uctab={<file>|ansi}

Ex: mxtb in out len1:fmt1 len2:fmt2 len3:fmt3

     out = 1  key/key1_value (max len1 chars)
           2  key/key2_value (max len2 chars)
           3  key/key3_value (max len3 chars)
         998  999999999 - key_frequency
         999  key_frequency

Ex: mxtb in out len:fmt tab=Vtag

     out = 1  key_value (max len chars)
         998  999999999 - Vtag_subtotal
         999  Vtag_subtotal

retag

CISIS Interface v5.2b/PC32/M/32767/10/30/I - Utility RETAG
Copyright (c)BIREME/PAHO 2006. [http://www.bireme.br/products/cisis]

retag <dbname> {<retag.tab>|unlock} [<option> [...]]

 <dbname>    master file to be retagged/unlocked
 <retag.tab> retag table

options:     {from|to|tell|shift}=<n>

The retag table is a sequential file in the format:

   <tag> <new tag>   (max 5461 entries)

The table:

 24 240
 70 700

changes tag 24 to 240 and 70 to 700
utilitarios_cisis.txt · Last modified: 06/05/2009 00:00 (external edit)