Uniq
uniq - Rapportera eller ta bort dubbla rader i en fil
Kommandot `uniq` används för att rapportera eller ta bort dubbla rader i en sorterad fil i Unix-liknande operativsystem.
Syntax
uniq [ALTERNATIV]... [INPUT-FIL [OUTPUT-FIL]]
Beskrivning
Kommandot `uniq` läser en sorterad fil och tar bort eller rapporterar intilliggande dubbletter av rader. Det är vanligt att använda `uniq` i kombination med `sort`, eftersom `uniq` endast tar bort intilliggande dubbletter.
Alternativ
Kommandot `uniq` stöder flera alternativ som kan användas för att justera dess beteende:
- -c, --count - Prefixera rader med antalet gånger de förekommer.
- -d, --repeated - Visa endast duplicerade rader.
- -D, --all-repeated[=SEPARATOR] - Visa alla duplicerade rader och kan separeras med en tom rad.
- -f, --skip-fields=N - Hoppa över N fält i början av varje rad.
- --group[=SEPARATOR] - Visa unika rader i grupper och kan separeras med en tom rad.
- -i, --ignore-case - Ignorera skiftlägeskänslighet vid jämförelser.
- -s, --skip-chars=N - Hoppa över N tecken i början av varje rad.
- -u, --unique - Visa endast unika rader.
- -z, --zero-terminated - Använd nollterminerade rader istället för newline.
- --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 `uniq`-kommandot:
- För att ta bort dubbletter i en sorterad fil och skriva resultatet till standardutgång:
sort fil.txt | uniq
- För att visa antalet gånger varje rad förekommer i filen:
sort fil.txt | uniq -c
- För att visa endast duplicerade rader:
sort fil.txt | uniq -d
- För att visa endast unika rader:
sort fil.txt | uniq -u
- För att ignorera skiftlägeskänslighet vid jämförelser:
sort fil.txt | uniq -i
- För att hoppa över de första två fälten vid jämförelser:
sort fil.txt | uniq -f 2
Skillnader mellan macOS och Linux
Det finns några viktiga skillnader att tänka på när man använder `uniq`-kommandot på macOS jämfört med Linux:
- Tillgänglighet: `uniq` är tillgängligt både på macOS och Linux, och de flesta alternativ fungerar likadant på båda plattformarna.
- Alternativ: Vissa alternativ som finns på GNU-versionen av `uniq` kan saknas eller ha annorlunda beteende på macOS. Det är bra att konsultera `man`-sidan på din specifika plattform.
- 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 `uniq` på macOS:
- För att ta bort dubbletter i en sorterad fil och skriva resultatet till standardutgång:
sort fil.txt | uniq
- För att visa antalet gånger varje rad förekommer i filen:
sort fil.txt | uniq -c
Det är alltid bra att konsultera `man`-sidan för `uniq` 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 `uniq`, kontrollera följande:
- Att du använder rätt syntax och alternativ för ditt specifika kommando.
- Att filerna du försöker bearbeta faktiskt existerar och är läsbara.
- Att input-filen är sorterad om du försöker ta bort dubbletter.
Se även
- sort - Sortera rader av textfiler.
- grep - Sök efter mönster i filer.
- awk - Ett språk och verktyg för textbehandling.
- sed - En strömaditor för textmanipulering.