Filtros Sistemas Informaticos.
Enviado por Darby Angelo Ayad Perpose • 9 de Noviembre de 2016 • Apuntes • 1.413 Palabras (6 Páginas) • 237 Visitas
“Fluxes de text i Filtres”
T'has llegit el pdf d'IBM 103.2 Text streams and filters ?
Sí? Llavors pots començar:
- Donats els dos fitxers “repventas.dat” i “oficinas.dat”, vull saber quin és exactament el caràcter delimitador de camps utilitzat a aquests fitxers.
Amb un editor com cat, less o more no puc distingir un espais en blanc d'un tabulador. Però al tema que estem treballant actualment hi ha una ordre que em permet veure de quins caràcters exactament està compost un fitxer. En particular podré saber quin és el caràcter delimitador de camps (“columnes”).
Troba l'ordre i escriu l'ordre i el resultat que demostra quin és el delimitador per a “repventas.dat”. Anàlogament per a l'altre fitxer.
[iaw49897664@h06 Fitxers]$ od -a repventas.dat
0000000 1 0 5 ht B i l l sp A d a m s ht 3
[iaw49897664@h06 Fitxers]$ od -a oficinas.dat
0000000 2 2 ht D e n v e r ht O e s t e ht
Com veiem el caràcter delimitador de camps utilitzat es el tabulador, en aquest cas “ht”.
- Estudiem l'ordre cut. Aquesta ens mostra seccions de cada línia dels fitxers. En particular, si un fitxer està ben ordenat, amb camps(columnes) i delimitadors (un caràcter que fa de separador de camps), podem fer que ens mostri les columnes que volguem d'un cert fitxer.
Quin és el paràmetre que em serveix per indicar el caràcter delimitador? Si no poso res quin és el caràcter que agafa per defecte com a delimitador (en anglès delimiter) ? Quin és el paràmetre que indica per quina columna o camp (en anglès field) tallem el text o sigui el mostrem?
El paràmetre per indicar el caràcter delimitador és -d char.
Si no poso res el caràcter que agafa per defecte com a delimitador serà el tabulador.
El paràmetre que indica per quina columna o camp tallem el text és l’opció -f(--fields=list).
Mostra el camp 1 del fitxer oficinas.dat.
[iaw49897664@h06 Fitxers]$ cut -f1 oficinas.dat
22
11
12
13
21
Mostra el camp 1 i el 2.
[iaw49897664@h06 Fitxers]$ cut -f1,2 oficinas.dat
22 Denver
11 New York
12 Chicago
13 Atlanta
21 Los Angeles
Mostra el camp 1 i el 3, 4 i 5
[iaw49897664@h06 Fitxers]$ cut -f1,3,4,5 oficinas.dat
22 Oeste 108 300000
11 Este 106 575000
12 Este 104 800000
13 Este 105 350000
21 Oeste 108 725000
Suposa que no saps quants camps hi ha, mostra tots els camps menys el 2.
[iaw49897664@h06 Fitxers]$ cat oficinas.dat | cut -f-1,3-
22 Oeste 108 300000 186042
11 Este 106 575000 692637
12 Este 104 800000 735042
13 Este 105 350000 367911
21 Oeste 108 725000 835915
- Amb quina ordre podria saber les oficines que tinc ? He de suposar que per cada línia, o sigui per cada \n, hi haurà una oficina.
Si suposem que a cada línia hi ha una oficina, llavors podem utilitzar l’ordre nl per numerar les línies del fitxer.
- Volem canviar el delimitador que hi ha a oficinas.dat pel caràcter “:”, com ho faries ?
I fer aquest canvi i a més que el nou fitxer tingui com a nom “oficinas.txt” ? Resoleu aquest exercici amb 2 ordres diferents. (Feu el mateix amb repventas.dat)
Per canviar el dilimitador utilitzarem lopció -d char (-d:), o –delimiter=char (--delimiter=:).
[iaw49897664@h06 Fitxers]$ echo oficinas.dat > oficinas.txt
...