linux-l: DBM-format

Oliver Bandel oliver at first.in-berlin.de
Do Mär 15 22:59:18 CET 2001


Hi!

Meine Güte, so eine Grippe hat auch ihre guten Seiten,
man kommt endlich mal wieder zum Lesen dieser Liste hier.

Ist schon eine Weile her, wie man am Datum von Cordeilas
Mail sieht....


Ich hoffe, in der Uni ist noch nicht die Welt zusammen gebrochen
und der Dozent hat sich auch noch nicht aufgehängt, also mal
eine kleine Schweinerei in Perl hier ablassen. :-)



On Fri, 26 Jan 2001, Cordelia Sommhammer wrote:

> Moin,
> 
> Ich hab da ein paar Files im dbm-Format, die ich gerne in irgendeiner
> Weise sinnvoll weiterverarbeiten wuerde...
> 
> Erzeugt hat die Files w-agora, ein in php geschriebenes tool, das 

Was ist denn w-agora?

> webbasierte diskussionsforen managt (*schauder* ich weiss, aber einer
> der Dozenten in der Uni suchte haenderingend was in der Richtung,
> damit die eindeutig fuer Mailinglisten zu doofen Studis in seinem Seminar

Nanana...

> sich austauschen konnten, und ich hab naiv das erste in der Richtung 
> was brauchbar aussah genommen und installiert).
> 
> Leider kriegt w-agora (wahrscheinlich nach irgendeinem der vielen
> apt-get upgrades, was weiss ich) jetzt seine eigenen Datenbank-Files
> nicht mehr auf. (Verrutschte Permissions kann ich glaub ich ausschliessen) 


Hmhhh...


...wie war das mit den doofen Studies? ;-)




[...]
> Nun ja, egal, jetzt waere die Frage: 
> kennt jemand hier in der Liste irgendeien Moeglichkeit, den Inhalt eines
> dbm-files sinnvoll zu dumpen, wenn man die Struktur der Datenbank und
> die Namen der keys etc.
> (Bin wirklich keine Datenbankspezialistin, heisst das so?) nicht kennt? 

Ja, es gibt hier Leute auf der Liste, die das können.

... war's das, was Du wissen wolltest? ;-)


> 
> Alternativ waere auch schon der Hinweis auf eine Spezifikation des
> dbm-Formates recht sinnvoll, damit ich erstmal ueberhaupt weiss, mit was
> ich es genau zu tun hab.

Das willst Du Dir doch nicht ernsthaft antun?


> 
> Achso, mit file bekomm ich folgende Information:
> GNU dbm 1.x or ndbm database, little endian

Sieht doch gut aus.


> 
> Eventuell gibt es ja auch Import-Filter fuers dbm-Format fuer sowas wie
> Staroffice, Applix, etc.? 

Oh Gott, Schüttel.... ist das das Fieber oder schüttelt's mich
gerade wegen der Monsterapplikationen?


#######################################################
#!/usr/bin/perl

use strict;

use NDBM_File;
use Fcntl;
my %h;


die "no db-name\n" if not @ARGV;

my $dbname = shift @ARGV;


tie(%h, 'NDBM_File', $dbname, O_RDWR|O_CREAT, 0640);


foreach my $key (sort keys %h)
{
  print "$key  =>  $h{$key}\n";
}

untie %h;
__END__
#######################################################


Rufe das Script mit einem Parameter auf, und zwar dem
DB-namen. Normalerweise gibt es *.pag und *.dir Files.
Du gibst dann nur den Teil als Dateinamen an, der hier
dem "*" entspricht (also alles ohne ".pag" und ".dir").


Dann haut dir das Teil den Inhalt der Datenbank auf den Schirm.

Entsprechend anpassen, damit das Teil gleich eine
HTML-Tabelle erstellt, schaffst Du bestimmt alleine.
(Einfach die HTML-Tags mit print-Statements ausgeben.)


Tschüß,
    Oliver




Mehr Informationen über die Mailingliste linux-l