Aperçu
join compare des champs spécifiques de deux fichiers et combine les lignes correspondantes. Cette commande ne fonctionne correctement que si les fichiers d'entrée sont triés selon le champ commun. L'utilisation sur des fichiers non triés peut entraîner des résultats inattendus.
Caractéristiques principales
- Fusion basée sur les champs communs de deux fichiers
- Tri des fichiers d'entrée obligatoire
- Contrôle du format de sortie avec diverses options
- Utile pour l'intégration de données et la génération de rapports
Options principales
La commande join permet un contrôle précis sur les critères de fusion, le format de sortie et la manière de traiter les lignes non correspondantes grâce à diverses options.
Spécification des champs et délimiteurs
Contrôle de la sortie
Commande générée :
Essayez de combiner les commandes.
Description:
`join` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Découvrez comment fusionner efficacement les données de deux fichiers grâce à divers exemples d'utilisation de la commande join.
Fusion de base
echo "1 apple\n2 banana" > file1.txt && echo "1 red\n2 yellow" > file2.txt && join file1.txt file2.txt
Fusionne les fichiers en se basant sur le premier champ des deux fichiers. (Exécuter après avoir créé les fichiers)
Fusion de champs spécifiques
echo "apple 1\nbanana 2" > file3.txt && echo "red 1\nyellow 2" > file4.txt && join -j 2 file3.txt file4.txt
Fusionne les fichiers en se basant sur le deuxième champ des deux fichiers. (Exécuter après avoir créé les fichiers)
Utilisation du délimiteur de tabulation
echo -e "id\tname\n1\tAlice\n2\tBob" > users.tsv && echo -e "id\tcity\n1\tSeoul\n3\tParis" > cities.tsv && join -t $'\t' users.tsv cities.tsv
Fusionne les fichiers délimités par des tabulations. (Exécuter après avoir créé les fichiers)
Inclure les lignes non correspondantes
echo "1 apple\n2 banana\n3 orange" > file5.txt && echo "1 red\n2 yellow" > file6.txt && join -a 1 file5.txt file6.txt
Inclut également les lignes présentes uniquement dans le premier fichier (file5.txt) dans la sortie. (Exécuter après avoir créé les fichiers)
Afficher uniquement des champs spécifiques
echo "1 apple\n2 banana" > file7.txt && echo "1 red\n2 yellow" > file8.txt && join -o 1.1,1.2,2.2 file7.txt file8.txt
Affiche uniquement le premier et le deuxième champ du premier fichier, ainsi que le deuxième champ du second fichier. (Exécuter après avoir créé les fichiers)
Conseils et précautions
Conseils utiles et points à considérer lors de l'utilisation de la commande join.
Conseils importants
- **Tri des fichiers d'entrée** : La commande join ne fonctionne correctement que si les fichiers d'entrée sont triés selon le champ de jointure. Il est essentiel de les trier au préalable à l'aide de la commande `sort`. Exemple : `sort file1.txt > sorted_file1.txt`
- **Délimiteur de champ** : Le délimiteur par défaut est l'espace (espace, tabulation). Pour utiliser un autre délimiteur, utilisez l'option `-t`. Par exemple, pour les fichiers CSV, utilisez `-t ','`.
- **Contrôle du format de sortie** : L'option `-o` permet de contrôler précisément l'ordre et l'inclusion des champs à afficher dans la sortie. Spécifiez au format `NUMFICHIER.NUMCHAMP` (par exemple, `1.2` pour le deuxième champ du premier fichier).
- **Traitement des lignes non correspondantes** : Vous pouvez utiliser les options `-a` ou `-v` pour inclure les lignes non correspondantes en plus des lignes correspondantes, ou pour afficher uniquement les lignes non correspondantes.