Overzicht
comm, een afkorting van 'common', is een commando dat gespecialiseerd is in het vergelijken van regels tussen twee reeds gesorteerde bestanden. Het vergelijkt de bestandsinhoud parallel en presenteert de resultaten gescheiden in drie kolommen. De eerste kolom toont regels die alleen in het eerste bestand voorkomen, de tweede kolom regels die alleen in het tweede bestand voorkomen, en de derde kolom regels die in beide bestanden gemeenschappelijk zijn. Dit commando is bijzonder krachtig bij het vergelijken van gesorteerde tekstgegevens, zoals databaselijsten of gebruikers-ID-lijsten.
Belangrijkste kenmerken
De belangrijkste kenmerken van het comm-commando zijn:
- Wordt gebruikt om twee gesorteerde bestanden te vergelijken. (Als bestanden niet gesorteerd zijn, moet het `sort`-commando eerst worden gebruikt.)
- Geeft de vergelijkingsresultaten netjes gescheiden weer in drie kolommen.
- Maakt het gemakkelijk om overeenkomsten en verschillen in tekstgegevens in één oogopslag te identificeren.
- Heeft de mogelijkheid om uitvoerkolommen selectief te verbergen, waardoor het voor diverse doeleinden kan worden gebruikt.
comm versus diff
comm en diff zijn beide hulpprogramma's voor bestandsvergelijking, maar verschillen in hun werking en doel.
- comm: Gespecialiseerd in gesorteerde bestanden, geeft gemeenschappelijke en unieke regels weer in drie kolommen. Detecteert geen wijzigingen (aanpassingen van regelinhoud).
- diff: Kan ook niet-gesorteerde bestanden vergelijken en geeft gedetailleerd alle regelwijzigingen (toevoegingen, verwijderingen, aanpassingen) weer.
Belangrijkste opties
De opties van het comm-commando worden voornamelijk gebruikt om specifieke kolommen te verbergen.
1) Uitvoerkolombeheer
2) Hulp
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`comm` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksvoorbeelden
Leer de functionaliteiten van het comm-commando door middel van diverse gebruiksvoorbeelden.
Vergelijk gemeenschappelijke en unieke regels van twee bestanden
comm file1.txt file2.txt
Vergelijkt de inhoud van twee gesorteerde bestanden in drie kolommen.
Toon alleen regels die gemeenschappelijk zijn voor beide bestanden
comm -12 file1.txt file2.txt
Gebruik de opties `-1` en `-2` om regels te verbergen die alleen in het eerste en tweede bestand voorkomen, en toon alleen de gemeenschappelijke regels.
Toon alleen unieke regels van twee bestanden
comm -3 file1.txt file2.txt
Gebruik de optie `-3` om gemeenschappelijke regels te verbergen en toon alleen de regels die uniek zijn voor elk bestand.
Vergelijk niet-gesorteerde bestanden
comm <(sort file1.txt) <(sort file2.txt)
U kunt ook niet-gesorteerde bestanden vergelijken door het `sort`-commando via een pipe (`|`) samen met `comm` te gebruiken.
Installatie
comm is standaard inbegrepen in de meeste Linux-distributies als onderdeel van het `coreutils`-pakket. Er is geen aparte installatie nodig.
Tips & Aandachtspunten
Hier zijn enkele belangrijke punten om in gedachten te houden bij het gebruik van het comm-commando.
Tips
- Voordat u comm gebruikt, **moet u de inhoud van de bestanden sorteren.** Als de bestanden niet gesorteerd zijn, krijgt u geen correcte vergelijkingsresultaten.
- Om te controleren of bestanden gesorteerd zijn, kunt u controleren of de uitvoer van `comm file1.txt file2.txt` afwijkt van wat u verwacht, of de bestanden sorteren met het `sort`-commando en ze vervolgens opnieuw vergelijken.
- De `<(...)`-syntaxis is procesvervanging en fungeert als een manier om de uitvoer van het `sort`-commando als een tijdelijk bestand aan `comm` door te geven. Deze methode maakt het gemakkelijk om zelfs niet-gesorteerde bestanden te vergelijken.