Comm
comm - Jämför två sorterade filer rad för rad
Kommandot `comm` används för att jämföra två sorterade filer rad för rad i Unix-liknande operativsystem.
Syntax
comm [ALTERNATIV]... FIL1 FIL2
Beskrivning
Kommandot `comm` läser två sorterade filer och jämför dem rad för rad. Det skriver tre kolumner till standardutgången: rader som endast finns i den första filen, rader som endast finns i den andra filen och rader som finns i båda filerna.
Alternativ
Kommandot `comm` stöder flera alternativ som kan användas för att justera jämförelsen:
- -1 - Undertryck skrivning av den första kolumnen (rader som endast finns i FIL1).
- -2 - Undertryck skrivning av den andra kolumnen (rader som endast finns i FIL2).
- -3 - Undertryck skrivning av den tredje kolumnen (rader som finns i båda filerna).
- --check-order - Kontrollera att filerna är korrekt sorterade.
- --nocheck-order - Kontrollera inte om filerna är korrekt sorterade.
- --output-delimiter=STR - Använd STR som kolumnavgränsare istället för tab.
- --help - Visa hjälpmeddelande och avsluta.
- --version - Visa versionsinformation och avsluta.
Exempel
Här är några praktiska exempel som visar hur du kan använda `comm`-kommandot:
- För att jämföra två filer och visa alla tre kolumner:
comm fil1.txt fil2.txt
- För att visa rader som endast finns i den första filen:
comm -2 -3 fil1.txt fil2.txt
- För att visa rader som endast finns i den andra filen:
comm -1 -3 fil1.txt fil2.txt
- För att visa rader som finns i båda filerna:
comm -1 -2 fil1.txt fil2.txt
- För att använda ett anpassat kolumnavgränsare:
comm --output-delimiter=" | " fil1.txt fil2.txt
Skillnader mellan macOS och Linux
Det finns några viktiga skillnader att tänka på när man använder `comm`-kommandot på macOS jämfört med Linux:
- Tillgänglighet: `comm` är tillgängligt både på macOS och Linux, och de flesta alternativ fungerar likadant på båda plattformarna.
- Alternativ: De flesta alternativ som finns på GNU-versionen av `comm` är också tillgängliga på macOS, men det är bra att konsultera `man`-sidan på din specifika plattform för att vara säker.
- Textkodning: Hanteringen av textkodningar och regionala inställningar kan skilja sig något mellan macOS och Linux, vilket kan påverka hur rader jämförs.
Exempel på att använda `comm` på macOS:
- För att jämföra två filer och visa alla tre kolumner:
comm fil1.txt fil2.txt
- För att visa rader som endast finns i den första filen:
comm -2 -3 fil1.txt fil2.txt
Det är alltid bra att konsultera `man`-sidan för `comm` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.
Felsökning
Om du får ett felmeddelande när du använder `comm`, kontrollera följande:
- Att du använder rätt syntax och alternativ för ditt specifika kommando.
- Att filerna du försöker jämföra faktiskt existerar och är läsbara.
- Att filerna är sorterade innan de jämförs, eftersom `comm` förutsätter sorterade filer.
Se även
- diff - Jämför filer rad för rad.
- cmp - Jämför två filer byte för byte.
- sort - Sortera rader av textfiler.