join-dctrl(1) Réaliser des jointures relationnelles de données au format

SYNOPSIS

join-dctrl [ options ] fichier fichier

join-dctrl --version

join-dctrl --help

DESCRIPTION

join-dctrl réalise une opération de jointure relationnelle sur des données au format de fichiers de contrôle Debian.

Un champ de jointure doit être indiqué en utilisant soit les options -1 et -2, soit l'option -j. Conceptuellement, le programme crée toutes les paires ordonnées d'enregistrement qui peuvent être formées en ayant un enregistrement du premier fichier comme premier membre de la paire et un enregistrement du second fichier comme second membre de la paire ; puis il supprime toutes les paires où les champs de jointure ne sont pas égaux. En réalité, tous les fichiers d'entrée sont traités comme des tables de base de données relationnelle.

Tous les fichiers d'entrée doivent être dans l'ordre croissant de leur champ de jointure ; cela permet au programme de fonctionner plus rapidement. Le programme sort-dctrl(1) peut être utilisé pour ce faire.

OPTIONS

-1 champ, --1st-join-field=champ
Indiquer le champ de jointure du premier fichier d'entrée.
-2 champ, --2nd-join-field=champ
Indiquer le champ de jointure du second fichier d'entrée.
-j champ, --join-field=champ
Indiquer un champ de jointure commun pour tous les fichiers.
-a nofichier, --unpairable-from=nofichier
Indiquer que les paragraphes non correspondants du premier (si 1 est donné) ou du second (si 2 est donné) fichier doivent être affichés.
-o specchamp, --output-fields=specchamp
Indiquer quels champs sont inclus dans la sortie. Les champs sont séparés par des virgules (plus d'une option -o peut aussi être utilisée). Chaque champ est indiqué au format nofichier.champ dans lequel nofichier est le numéro du fichier d'entrée duquel le champ est tiré (soit 1 soit 2), et champ donne le nom du champ à utiliser. En particulier, un simple 0 peut être utilisé à la place de nofichier.champ pour faire référence à la valeur commune des champs de jointure.
Le nom du champ (numéro de fichier non compris) est utilisé dans la sortie comme nom du champ. Cependant, un nom différent spécifique à la sortie peut être indiqué en ajoutant après l'indication du champ un deux-points suivi du nom choisi pour l'affichage.
Par exemple, l'option -o 0,1.Version:Ancienne-Version,2.Version indique que le premier champ de n'importe quel enregistrement en sortie devrait être le champ de jointure, le deuxième champ devrait être Ancienne-Version dont les données sont tirées du champ Version du premier fichier d'entrée, et le troisième champ devrait être le champ Version dont les données sont tirées du champ de même nom dans le second fichier d'entrée, et ce sont les seuls champs affichés en sortie.
Si aucune option -o n'est donnée, tous les champs de tous les enregistrements joints sont inclus dans la sortie.
-l niveau, --errorlevel=niveau
Configurer le niveau de journalisation, où niveau est fatal, important, informational ou debug. La disponibilité de debug depend des options de compilation. Ces catégories sont ici données dans l'ordre : tous les messages émis lorsque fatal est choisi seront affichés pour un niveau d'erreur important, etc. Par défaut, important est sélectionné.
-V, --version
Afficher les informations de version.
-C, --copying
Afficher la licence. La sortie est particulièrement longue, veuillez la rediriger quelque part, ou utiliser un tube (vers votre afficheur de texte préféré par exemple).
-h, --help
Afficher une courte aide.

OPÉRANDES

join-dctrl traitera chaque fichier nommé sur la ligne de commande comme une table de base de données relationnelle. Un fichier appelé - représente le flux d'entrée standard du programme. Actuellement, exactement deux fichiers doivent être nommés.

STDIN

Le flux d'entrée standard peut être utilisé comme entrée du programme conformément à l'indication précédente dans la section OPÉRANDES.

FICHIERS D'ENTRÉE

Toutes les entrées de join-dctrl sont au format d'un fichier de contrôle Debian.

Un fichier de contrôle Debian (dctrl) est une base de données semi-structurée avec une seule table conservée dans un fichier texte analysable par une machine. Une telle base est constituée d'un ensemble d'enregistrements ; chaque enregistrement est une association de noms de champ et de contenus de champ. Le fichier texte présente les enregistrements séparés par des lignes vides, tandis que chaque champ est constitué d'une ou plusieurs lignes non vides à l'intérieur d'un enregistrement. Un champ commence par son nom, suivi d'un deux-points, suivi par le contenu du champ. Les deux-points doivent rester sur la première ligne du champ, et la première ligne ne doit pas commencer par un espace. Les lignes suivantes, au contraire, doivent commencer par un espace (un ou plusieurs caractères espace ou tabulation).

Chaque fichier d'entrée doit être dans l'ordre croissant de son champ de jointure.

VARIABLES D'ENVIRONNEMENT

Les paramètres régionaux de l'environnement, en particulier la configuration du jeu de caractères, a une incidence sur l'interprétation des flux de caractères en entrée et en sortie.

ÉVÉNEMENTS ASYNCHRONES

Les signaux UNIX normalisés ont leur signification habituelle.

STDOUT

Toute la sortie est envoyée sur le flux de sortie standard. La sortie est au format d'un fichier de contrôle Debian, précédemment décrit dans la section FICHIERS D'ENTRÉE. La sortie sera dans l'ordre croissant de son champ de jointure, si ce champ est inclus dans la sortie.

FICHIERS DE SORTIE

Il n'y a aucun fichier de sortie.

CODE DE RETOUR

Cet utilitaire renvoie 0 lors d'une exécution réussie. Un code de retour non nul incohérent est renvoyé si une erreur est détectée (c'est un bogue).

CONSÉQUENCE DES ERREURS

En cas d'erreur en entrée, la sortie sera partiellement ou complètement incorrecte. En cas d'erreur d'appel, le programme refusera de fonctionner.

EXEMPLES

Soit un fichier contenant des données de paquets binaires pour l'architecture AMD64 de la publication Squeeze de Debian (6.0), section main, nommé Packages dans le répertoire actuel. Supposons que les commandes sont exécutées sur un système Debian. Supposons de plus qu'aucun fichier stat ni pkg n'est déjà présent dans le répertoire actuel. Les commandes suivantes donnent, pour chaque paquet actuellement installé et disponible dans Debian Squeeze (6.0), la version actuellement installée (en tant qu'Ancienne-Version) et la version de Squeeze (en tant que Nouvelle-Version) :
$ sort-dctrl -kPackage /var/lib/dpkg/status > stat
$ sort-dctrl -kPackage Packages > pkg
$ join-dctrl -j Package \
  -o 0,1.Version:Ancienne-Version,2.Version:Nouvelle-Version \
  stat pkg

AUTEUR

Le programme join-dctrl et cette page de manuel ont été écrits par Antti-Juhani Kaijanaho.

TRADUCTION

Cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe francophone de traduction de Debian.

Elle est maintenue par David Prévot [email protected] et les membres de la liste [email protected] depuis mars 2011.

Veuillez signaler toute erreur de traduction en écrivant à [email protected] ou par un rapport de bogue sur le paquet dctrl-tools.

Vous pouvez toujours accéder à la version anglaise de ce document en utilisant la commande « man -L C section page_de_man ».