Konverzija podataka
shell komande i malo perla za zgodne statistike: Revision 11

Trebamo o u podacima vidjeti koja se točno podpolja nalaze u pojedinim poljima. Podaci su text dump iz ISIS datoteke.

Za elegantno rješenje, ne moramo se maknuti iz Linux shella:

Dovoljna je ova naredba:

grep ^200 dump.libri | sed 's/\(\^[a-z]\)[^\^]*/\1/g' | sort | uniq -c | sort -rn

za sljedeći rezultat:

Frekv. polje redosljed pp
2319 200 ^a^f
2064 200 ^a^e^f
409 200 ^a^f^g
372 200 ^a^e^f^g
163 200 ^a^e
64 200 ^a
17 200 ^a^e^e^f
12 200 ^a^e^g
10 200 ^a^g
7 200 ^a^d^f
6 200 ^a^e^e
5 200 ^a^e^e^f^g
4 200 ^a^f^g^g
4 200 ^a^e^e^e^f
3 200 ^a^f^v
3 200 ^a^e^d^e^f
2 200 ^a^g^f
2 200 ^a^e^f^g^g
2 200 ^a^e^e^g
2 200 ^a^d^e^f
2 200 ^a^b^f
2 200 ^a^b
... ... ...

Za istu stvar moguće je iskoristiti i malo perla:

#!/usr/bin/perl
while(<>) {
chomp;
s/(\^[a-z])[^\^]*/$1/g;
print "$_\n";
}

onda to izgleda ovako:

grep ^200 dump.libri | ./filter.pl | sort | uniq -c | sort -rn