[Jacob Sparre Andersen]
Kan du flikke noget bash-kode sammen, der tager ».ds«-format som inddata, og spytter en OOo-synonymfil ud? Så skal jeg nok lægge det ind i udgivelsesproceduren.
Jeg dropper bash, og bruker perl i stedet. Greit?
Jeg tror dette gjør jobben. Det er et kjapt hack. Det er svakt testet på URL:http://da.speling.org/filer/da.source.gz. Det legger ikke ordene inn "begge veier", dvs. kun 'ord1; ord2' og ikke også 'ord2; ord1', men så vidt jeg vet vil OOo-programmet som spiser resultatfilen kompensere for dette. Jeg testet det slik:
zcat da.source.gz | ./speling-extract-synonyms > da.ooo-therasus.txt
Versågod. :)
#!/usr/bin/perl # # Author: Petter Reinholdtsen # Date: 2005-12-02 # # Extract synonyms usable for OOo from the raw data files produced by # www.speling.org software.
use warnings; use strict;
my $debug = 0;
my %words;
my $word; while (<>) { chomp; $word = $1 if /^WORD: (.+)$/; if (/^SYNONYMS?: (.+)$/) { my @synonyms = split(/\s*,\s*/, $1); if (exists $words{$word}) { print "Adding @synonyms\n" if $debug; push @{$words{$word}}, @synonyms; } else { print "Inserting @synonyms\n" if $debug; @{$words{$word}} = @synonyms; } } }
for $word (sort keys %words) { print "$word"; my $lastsynonym = ""; for my $synonym (sort @{$words{$word}}) { print "; $synonym" if ($synonym ne $lastsynonym); $lastsynonym = $synonym; } print "\n"; }