join (Unix)

join (Unix)
Page d'aide sur l'homonymie Pour les articles homonymes, voir Join.

join est une commande POSIX qui permet de fusionner les lignes de deux fichiers ayant des champs communs. Elle réalise des jointures, au sens de l'algèbre relationnelle, directement sur des fichiers texte.

Cette commande compare les lignes de deux fichiers triés une à une et si une correspondance est trouvée sur les colonnes passées en argument, elle affichera le regroupement des champs présents sur les mêmes lignes.

Exemple

Soit le fichier contacts contenant la liste des membres d'une famille (id, nom, téléphone):

ID_1 Jean 123456
ID_2 Caroline 54321
ID_3 Louis 98765

Et le fichier ordinateurs contenant la liste des ordinateurs de la maison (id_ordinateur, ordinateur, id_personne).

L01 Linux ID_1
M01 Mac ID_2
W01 Windows ID_2
S01 Solaris ID_4


Premier cas simple. On veux joindre les deux fichiers sur la colonne 1 du premier fichier (-11) et la colonne 3 du deuxième fichier (-23).

% join -11 -23 contacts ordinateurs

ID_1 Jean 123456 L01 Linux
ID_2 Caroline 54321 M01 Mac
ID_2 Caroline 54321 W01 Windows


Si on souhaite afficher la liste de les couples personne-ordinateurs de la maison en formatant la sortie (option -o):

% join -11 -23 -o 1.2,2.2 contacts ordinateurs

Jean Linux
Caroline Mac
Caroline Windows

Dans le cas d'une base de données on parlerait d'une jointure simple (STRAIGHT JOIN).


Pour afficher la liste de toutes les personnes, propriétaire ou non d'un ordinateur:

% join -a1 -e'NULL' -11 -23 -o 1.2,2.2 contacts ordinateurs
  
Jean Linux
Caroline Mac
Caroline Windows
Louis NULL

Il s'agirait ici d'une jointure gauche (LEFT JOIN) en SGBD. Louis (ID_3) n'est effectivement pas repris dans le fichier ordinateurs.


Et enfin, la jointure droite (RIGHT JOIN), la liste de tous les ordinateurs et de leur utilisateur éventuel.

% join -a2 -e'NULL' -11 -23 -o 2.2,1.2 contacts ordinateurs

Linux Jean
Mac Caroline
Windows Caroline
Solaris NULL

En effet, dans le fichier ordinateurs, le Solaris pointe vers un id (ID_4) qui n'existe pas dans le fichier contacts.


Voir aussi

GNU Core Utilities

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article join (Unix) de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Join (Unix) — Pour les articles homonymes, voir Join. join est une commande POSIX qui permet de fusionner les lignes de deux fichiers ayant des champs communs. Il fonctionne comme les jointures des bases de données relationnelles mais pour des fichiers texte.… …   Wikipédia en Français

  • Join (Unix) — join is a command in Unix like operating systems that merges the lines of two sorted text files based on the presence of a common field. It is a sort of implementation of the join operator used in relational databases but operating on text… …   Wikipedia

  • join (Unix) — У этого термина существуют и другие значения, см. Join. join команда UNIX подобных операционных систем, объединяющая строки двух упорядоченных текстовых файлов на основе наличия общего поля. По своему функционалу схоже с оператором JOIN,… …   Википедия

  • Join — may refer to: * Join (law), to include additional counts or additional defendants on an indictment * Join (mathematics), a least upper bound in lattice theory * Join (relational algebra), a type of binary operator * Join (SQL), a SQL and… …   Wikipedia

  • Join — может относится к: Join (SQL) операция языка SQL и реляционных баз данных join (Unix) команда операционной системы Unix Joins (библиотека) API параллельных вычислений, разработанный Microsoft Research Joins.com веб сайт южнокорейской газеты… …   Википедия

  • Join-calculus (programming language) — In computer science, the join calculus is a programming language based on the identically named join calculus process calculus. It is implemented as an interpreter written in Ocaml, and supports statically typed distributed programming,… …   Wikipedia

  • UNIX — UNIX, parfois écrit « Unix », avec des petites capitales, est un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par laquelle il offre de nombreux petits outils… …   Wikipédia en Français

  • Unix — (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec les petites capitalisations) est le nom d un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par …   Wikipédia en Français

  • Système Unix — UNIX UNIX (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec les petites capitalisations) est le nom d un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une… …   Wikipédia en Français

  • Systèmes UNIX — UNIX UNIX (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec les petites capitalisations) est le nom d un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”