Cria arquivo (tabela) com os campos v67 (País) e v71 (Tipo de Ato)
mxtb base create=paistipoato "100:v67,'|'v71"
Se der erro “fatal: mxtb/maxhash overflow” incluir o comando
tell=500)
^* após campo para ignorar subcampos
mxtb base create=pais "100:v1717^*" tell=500
Exemplos: Tabela com os campos 12, 68, 65 e 75
mxtb base1 create=actname12+actnumber68+date65e75 "100:v12,'|'v68,'|'v65,'|'v75" tell=500
Criar tabela txt
Apartir do arquivo paistipoato cria tabela (pft) com os campos 1, 2 e 999 (v1’|’v2’|’v999/) com quebra somente depois do miléssimo caracter (lw=999)
mx paistipoato "pft=v1'|'v2'|'v999/" lw=999 -all now > paistipoato12.txt
Sort no campo v1 e depois no v2 do arquivo tabela
msrt paistipoato 999 v1v2
Sort no arquivo texto
mx seq=sem87com76ndecs.txt create=lu -all now mx lu "pft=v2/" now|/bireme/ordena -u > arquivosaida.txt notepad arquivosaida.txt
Gerar listas únicas
base REGIONAL
mx base "pft=if v67:'texto' then if p(v30) or p(v71) or p(v11) then mfn,'|',v30,'|',v71,'|',v11/ fi,fi" lw=999 now > listas_pais.lst mx seq=listas_pais.lst create=pais -all now mx pais "pft=v2/" lw=999 now|/bireme/ordena -u > pais_lista_unica_v30.txt (fonte) mx pais "pft=v3/" lw=999 now|/bireme/ordena -u > pais_lista_unica_v71.txt (tipo) mx pais "pft=v4/" lw=999 now|/bireme/ordena -u > pais_lista_unica_v11.txt (org) notepad pais_lista_unica_v30.txt
PAÍS
mx base "pft=if p(v30) or p(v71) or p(v11) then mfn,'|',v30,'|',v71,'|',v11/ fi" lw=999 now > listas_pais.lst mx seq=listas_pais.lst create=pais -all now mx pais "pft=v2/" lw=999 now|/bireme/ordena -u > pais-sourceId-v30.txt (fonte) mx pais "pft=v3/" lw=999 now|/bireme/ordena -u > pais-actType-v71.txt (tipo) mx pais "pft=v4/" lw=999 now|/bireme/ordena -u > pais-org-v11.txt (org) notepad pais_lista_unica_v30.txt
Cria arquivo txt com separação dos campos apartir do arquivo tabela
mx paistipoato "pft=v1'|'v2v999/" -all now > paistipoato.txt
Para gerar o txt da base inteira delimitar o 1º e último mfn ou somente o último
mx base1 from=1 to=13000 now > baseall.txt
Cria tabela de dois campos
mxtb base1 create=paisdata 100:v67 100:v75 tell=500
Conteúdo somente se estiver presente no campo -lê a base base1 (mx base1) sequencialmente até o fim e mostra o mfn, 3 espaços (x3) e o campo 4 (v4) se (if) este estiver presente (if p(v4) then …. fi:
mx base1 "pft=if p(v4) then mfn,' - ',v4/ fi" lw=999 -all now p(v4), onde p=presente a(v4), onde a=ausente
e grava em txt
mx base1 "pft=if p(v11) then mfn,'|',v11/ fi" lw=999 -all now > somav11.txt
Vários campos usar operador boleano
mx base "pft=if p(v1) and p(v11) then mfn,x3,v1,' -',v11/ fi" now
subcampo presente
mx base "pft=(if v999^c='61' then mfn,' -',v999/ fi)" now , ( ) parênteses representa campo repetivo
mx base "pft=if p(v1) and p(v8) and p(v76) and p(v82) and p(v87) and p(v89) and p(v91) and p(v68) and p(v75) then mfn,'
-',v1,v8,v76,v82,v87,v89,v91/ fi" now
Campos obrigatórios de Leisref
mx base "pft=if p(v11) and p(v30) and p(v65) and p(v67) and p(v71) and p(v75) then mfn,' -',v11,' - ',v30,' - ',v65,' - ',v67,' - ', v71,' - ',v75, fi/" lw=9999 -all now|wc -l
por país
mx base "pft=if v67:'Pais' then if p(v11) and p(v30) and p(v65) and p(v67) and p(v71) and p(v75) then mfn,' -', fi,fi/" now
Campos da chave
mx base "pft=if p(v71) and p(v75) and p(v67) then mfn,' - ',v71,' - ',v75,' - ',v67,fi/" lw=9999 -all now|wc -l
por país
mx base "pft=if v67:'Pais' then if p(v71) and p(v68) and p(v75) then mfn,' -',v67,' - ',v71,' - ',v68,' - ',v75/ fi,fi" now|/bireme/wc -l
mx base "pft=if v67:'Pais' then if a(v71) or a(v68 ) or a(v75) then mfn,' -',v67,' - ',v71,' - ',v68,' - ',v75/ fi,fi" now|/bireme/wc -l
Retirar arquivos sem dados válidos
mx base "pft=if a(v11) and a(v12) and a(v30) and a(v67) and a(v71) then mfn/ fi" now
Visualizar um determinado texto em um campo específico
mx base "pft=if v67:'texto' then mfn,' - ',v67/ fi" now
mx base "pft=if v67:'texto' then if p(v30) or p(v71) or p(v11) then mfn,' - ',v30,' - ',v71,' - ',v11/ fi,fi" now
Visualizar um determinado texto em todo o registro
mx base "text=texto"
Relatório de campo sem repetição
mx ley lw=9999 "pft=(v11/)" now|z:\utl\wlinux\ordena -u (visualização) mx ley lw=9999 "pft=(v11/)" now|z:\utl\wlinux\ordena -u > v11_lista.txt (grava txt)
Comparação de dois campos com dados:
mx base1 "pft=if p(v11) or p(v14) then mfn,x3,'|',v11,'|',v14/ fi" lw=999 -all now > org_pagination.txt
Comparação de dois campos com ou sem dados:
mx base1 "pft=mfn,x3,'|',v12,'|'v71/" lw=999 -all now > acttype1e2.txt
Exemplos: Arquivo com os campos 12, 68, 64 e 74 com separação de campos Pipe “|”
mx base1 "pft=mfn,x3,'|',v12,'|'v68,'|'v65,'|'v75/" lw=999 -all now > actname12+actnumber68+date65e75.txt
Comparação de dois campos com ou sem dados independente se dado numérico ou não
mx base1 "pft=mfn,x3,v2/" now to=14000
Para separar conteúdo de campos repetitivos
"/", ex.: v1/
Para colocar separador entre os campos repetitivos (v76+| – |)/, onde ( ) = repetitividade do campo; | – | = símbolo usado para separar (hífen), colocado entre sinais de “pipe”
Contagem do total de linhas de um arquivo (acrescentar ao comando principal)
|z:\utl\wlinux\wc -l z: = \\Alpha1\spd\utl\wlinux\
Tamanho do campo
mx base"pft=f(size(v83),1,0), '|',mfn/" now|sort
Duplicar campo
mx <base> "proc='a90~',v90,'~'" , onde a90 = adiciona campo 90; ~ = subcampos; v90 = com conteúdo de um v90 existente. Para adicinar vazio retirar o v90.
Para gravar acrescentar copy=sarh now -all ao final.
ex.: mx base "proc='a90~',v90,'~'" copy=base now -all
Substituir conteúdo do campo
mx base "proc='dcampo/repetição>','<campo 0>conteúdo</campo>'" from=mfn count=1 copy=checklinks_novo
exemplo:
~/mx checklinks proc=d2/1,'<2 0>^uhttp://www.wpro.who.int/themes_focuses/theme1/focus1/t1f1.asp^d20050522 (01:30:21)^s404</2>' from=2189 count=1 copy=checklinks
Passando campo de uma base a outra
"proc='<61 0>',ref(['base2']mfn,v61),'</61>'" - campo não repetitivo "proc='<61 0>',ref(['base2']mfn,v61+|%|),'</61>'" - campo repetitivo para criar acrescentar copy=base1 now -all
Separar os campos repetitivos
mxcp base1 create=nova_base repeat=%