Overzicht
join vergelijkt specifieke velden van twee bestanden en combineert overeenkomende regels. Dit commando werkt correct alleen als de invoerbestanden zijn gesorteerd op basis van het gemeenschappelijke veld. Het gebruik ervan op ongesorteerde bestanden kan leiden tot onverwachte resultaten.
Belangrijkste Kenmerken
- Samenvoegen op basis van gemeenschappelijke velden van twee bestanden
- Sorteren van invoerbestanden is vereist
- Controle van uitvoerformaat met diverse opties
- Nuttig voor gegevensintegratie en het genereren van rapporten
Belangrijkste Opties
Het join commando kan de samenvoegcriteria, het uitvoerformaat en de verwerking van niet-overeenkomende regels nauwkeurig regelen via verschillende opties.
Velden en Scheidingstekens Specificeren
Uitvoer Regelen
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`join` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksvoorbeelden
Leer hoe u gegevens uit twee bestanden effectief kunt samenvoegen via verschillende gebruiksvoorbeelden van het join commando.
Basis Samenvoeging
echo "1 apple\n2 banana" > file1.txt && echo "1 red\n2 yellow" > file2.txt && join file1.txt file2.txt
Voegt samen op basis van het eerste veld van twee bestanden. (Bestanden aanmaken en uitvoeren)
Specifiek Veld Samenvoegen
echo "apple 1\nbanana 2" > file3.txt && echo "red 1\nyellow 2" > file4.txt && join -j 2 file3.txt file4.txt
Voegt samen op basis van het tweede veld van twee bestanden. (Bestanden aanmaken en uitvoeren)
Gebruik van Tab Scheidingsteken
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
Voegt door tabs gescheiden bestanden samen. (Bestanden aanmaken en uitvoeren)
Niet-overeenkomende Regels Insluiten
echo "1 apple\n2 banana\n3 orange" > file5.txt && echo "1 red\n2 yellow" > file6.txt && join -a 1 file5.txt file6.txt
Voegt ook regels die alleen in het eerste bestand (file5.txt) voorkomen toe aan de uitvoer. (Bestanden aanmaken en uitvoeren)
Alleen Specifieke Velden Uitvoeren
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
Voert alleen het eerste en tweede veld van het eerste bestand en het tweede veld van het tweede bestand uit. (Bestanden aanmaken en uitvoeren)
Tips & Aandachtspunten
Handige tips en aandachtspunten bij het gebruik van het join commando.
Belangrijke Tips
- **Sorteren van Invoerbestanden**: Het join commando werkt correct alleen als de invoerbestanden zijn gesorteerd op basis van het join-veld. Het is essentieel om ze vooraf te sorteren met het `sort` commando. Bijvoorbeeld: `sort file1.txt > sorted_file1.txt`
- **Veld Scheidingstekens**: Het standaard scheidingsteken is een spatie (spatie, tab). Gebruik de `-t` optie om een ander scheidingsteken te gebruiken. Voor CSV-bestanden gebruikt u bijvoorbeeld `-t ','`.
- **Uitvoer Formaat Regelen**: Met de `-o` optie kunt u de volgorde en opname van uitvoervelden nauwkeurig regelen. Specificeer dit in het formaat `BESTANDSNUMMER.VELDNUMMER` (bv. `1.2` is het tweede veld van het eerste bestand).
- **Verwerking van Niet-overeenkomende Regels**: Met de opties `-a` of `-v` kunt u niet alleen overeenkomende regels, maar ook niet-overeenkomende regels insluiten, of alleen de niet-overeenkomende regels uitvoeren.