join-dctrl(1)

BEZEICHNUNG
join-dctrl - stellt eine Beziehungsverknüpfung zu Daten im Dctrl-Format her

ÜBERSICHT
join-dctrl [ Optionen ] Dateiname Dateiname

join-dctrl --version

join-dctrl --help

BESCHREIBUNG
join-dctrl führt anhand von Beziehungen eine Verknüpfungsoperation zu Daten her, die im Debian-Steuerdateiformat vorliegen.

Ein Verknüpfungsfeld muss unter Benutzung der Schalter -1, -2 oder -j angegeben werden. Begrifflich erstellt das Programm alle gegliederten Datensatzpaare, die aus einem Datensatz der ersten Datei als erstes und einem einem Datensatz der zweiten Datei als zweites Mitglied des Paares gebildet werden können; dann löscht es all die Paare, bei denen die Verbindungsfelder nicht gleich sind. Im Grunde wird jede Eingabedatei als relationale Datenbanktabelle betrachtet.

Jede Eingabedatei muss in ihrem Verbindungsfeld in aufsteigender Reihenfolge sortiert sein, damit das Programm schnell arbeiten kann. Dazu kann das Programm sort-dctrl(1) verwandt werden.

OPTIONEN

-1 Feld, --1st-join-field=Feld
    gibt das Verbindungs-Feld der ersten Eingabedatei an.

-2 Feld, --2nd-join-field=Feld
    gibt das Verbindungs-Feld der zweiten Eingabedatei an.

-j Feld, --join-field=Feld
    gibt das übliche Verbindungs-Feld für alle Dateien an.

-a Dateinummer, --unpairable-from=Dateinummer
    gibt an, dass nicht passende Abschnitte von der ersten (falls 1 angegeben ist) oder der zweiten (falls 2 angegeben ist) Datei ausgegeben werden.

-o Feldangabe, --output-fields=Feldangabe
    gibt an, welche Felder in die Ausgabe einfließen. Felder werden durch Kommas getrennt (es kann auch mehr als eine -o-Option benutzt werden). Jedes Feld wird im Format Dateinummer.Feld angegeben, wobei Dateinummer die Aufzählungsnummer der Eingabedatei ist, von der das Feld abgerufen wird (entweder 1 oder 2) und Feld gibt den Namen des zu verwendenden Feldes an. Als Sonderfall kann einfach 0 anstelle von Dateinummer.Feld benutzt werden, um Bezug auf den üblichen Wert der Verbindungsfelder zu nehmen.

    Der Name des Feldes (der nicht die Dateinummer einschließt) wird in der Ausgabe als Name des Feldes benutzt. Zu Ausgabezwecken kann jedoch ein anderer Name durch Anhängen eines Doppelpunkts und des bevorzugten sichtbaren Namens an die Feldangabe angegeben werden.

    Die Option -o 0,1.Version:Alte-Version,2.Version gibt zum Beispiel an, dass das erste Feld in jeder Ausgabe das Verbindungsfeld sein sollte, das zweite Feld sollte Alte-Version sein und seine Daten vom Feld Version der ersten Eingabedatei beziehen und das dritte Feld sollte Version sein und seine Daten von dem Feld mit gleichem Namen in der zweiten Eingabedatei beziehen. Dies sind die einzigen Felder im Ausgabedatensatz.

    Falls die Option -o angegeben wurde, werden alle Felder aller Datensätze, die verknüpft sind, in die Ausgabe einfließen.

-l Stufe, --errorlevel=Stufe
    setzt die Protokollierungsstufe auf Stufe. Stufe ist entweder fatal, important, informational oder debug, aber Letzteres ist, abhängig von den Optionen zur Kompilierzeit, möglicherweise nicht verfügbar. Diese Kategorien sind hier in ihrer Reihenfolge angegeben; jede Nachricht, die ausgegeben wird, während fatal in Kraft ist, wird in der Fehlerstufe important ausgegeben und so weiter. Vorgabe ist important.

-V, --version
    gibt Versionsinformationen aus.

-C, --copying
    gibt die Copyright-Lizenz aus. Dies produziert eine große Ausgabe; stellen Sie sicher, dass Sie sie irgendwohin um- oder weiterleiten (wie etwa Ihren bevorzugten Dateibetrachter).

-h, --help
    gibt eine Zusammenfassung von Hilfetexten aus.

OPERANDEN
join-dctrl wird jede Datei, die auf der Befehlszeile benannt wird, als relationale Datenbanktabelle betrachten. Eine Datei namens - steht für den Standardeingabe-Datenstrom eines Programms. Derzeit müssen exakt zwei Dateien benannt werden.

STDIN
Wie im vorhergehenden Abschnitt OPERANDEN angegeben, könnte der Standardeingabe-Datenstrom als Eingabe verwandt werden.

EINGABEDATEIEN
Jegliche Eingabe für join-dctrl hat das Format einer Debian-Steuerdatei.

Eine Debian-Steuerdatei (dctrl) ist eine halbwags strukturierte Datenbank aus einer Tabelle, die in einer maschinenauswertbaren Textdatei gespeichert wird. Einer derartige Datenbank besteht aus einer Zusammenstellung von Datensätzen; jeder Datensatz ist eine Abbildung von Feldnamen auf Feldinhalt. Textlich werden Datensätze durch leere Zeilen getrennt, während jedes Feld als eine oder mehrere nicht leere Zeilen innerhalb eines Datensatzes kodiert ist. Ein Feld beginnt mit seinem Namen, gefolgt von einem Doppelpunkt, gefolgt vom Feldinhalt. Der Doppelpunkt muss in der ersten Zeile des Feldes liegen und die erste Zeile darf nicht mit einem Leerraum beginnen. In Gegensatz dazu beginnen nachfolgende Zeilen immer mit einem Leerraum (einem oder mehrere Leerzeichen oder Tabulatoren).

Jede Eingabedatei muss in aufsteigender Reihenfolge ihres Verbindungsfelds sortiert sein.

UMGEBUNGSVARIABLEN
Die Standardsprachumgebung, insbesondere deren Zeichensatzeinstellung, beeinflusst die Interpretation der Ein- und Ausgabe als Zeichendatenströme.

ASYNCHRONE EREIGNISSE
Standard-UNIX-Signale haben ihre gewohnte Bedeutung.

STDOUT
Die komplette Ausgabe wird an den Standardausgabe-Datenstrom gesandt. Die Ausgabe hat das Format einer Debian-Steuerdatei, wie sie im vorhergehenden Abschnitt EINGABEDATEIEN beschrieben wurde. Die Ausgabe wird in absteigender Reihenfolge des Verbindungsfelds sortiert, falls es in der Ausgabe enthalten ist.

AUSGABEDATEIEN
Es gibt dort keine Ausgabedateien.

EXIT-STATUS
Dieses Hilfswerkzeug wird bei Erfolg mit 0 beendet. Es benutzt inkonsistent einen Rückgaberwert ungleich Null, wenn ein Fehler festgestellt wird (dies ist ein Programmfehler).

FOLGEN VON FEHLERN
Im Fall von Fehlern in der Eingabe wird die Ausgabe teilweise oder komplett Müll sein. Im Fall von Fehlern im Aufruf wird das Programm die Funktion verweigern.

BEISPIELE
Angenommen, diese Datei enthält Daten über Binärpakete für die AMD64-Architektur, die in der Debian-Squeeze-Veröffentlichung (6.0) im Abschnitt main enthalten sind. Sie liegt im aktuellen Verzeichnis und heißt Packages. Angenommen, es wird derzeit auf einem Debian-System gearbeitet. Außerdem angenommen, dass das aktuelle Verzeichnis keine Dateien mit Namen stat und pkg enthält. Die folgenden Befehle geben für jedes derzeit installierte und verfügbare Paket in Debian-Squeeze (6.0) seine installierte Version (als Alte-Version) und die Version in Squeeze (als Neue-Version) aus:
$ sort-dctrl -kPackage /var/lib/dpkg/status > stat
$ sort-dctrl -kPackage Packages > pkg
$ join-dctrl -j Package \
  -o 0,1.Version:Alte-Version,2.Version:Neue-Version \
  stat pkg

AUTOR
Das Programm join-dctrl und diese Handbuchseite wurden von Antti-Juhani Kaijanaho geschrieben.

SIEHE AUCH
grep-dctrl(1), sort-dctrl(1), tbl-dctrl(1)

TRADUCTION
Diese Übersetzung wurde mit dem Werkzeug po4a <URL:http://po4a.alioth.debian.org/> durch Chris Leick c.leick@vollbio.de und das deutsche Debian-Übersetzer-Team im Dezember 2011 erstellt.

Bitte melden Sie alle Fehler in der Übersetzung an debian-l10n-german@lists.debian.org oder als Fehlerbericht an das Paket dctrl-tools.

Sie können mit dem folgenden Befehl das englische Original anzeigen »man -L C Abschnitt deutsche_Handbuchseite«.