Comm

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

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.

Källor