logo

uniq Commando in Linux met voorbeelden

De uniek command in Linux is een opdrachtregelhulpprogramma dat de herhaalde regels in een bestand rapporteert of eruit filtert. In eenvoudige woorden, uniek is de tool die helpt bij het detecteren van de aangrenzende dubbele lijnen en die ook de dubbele lijnen verwijdert. uniek filtert de aangrenzende overeenkomende regels uit het invoerbestand (dat vereist is als argument) en schrijft de gefilterde gegevens naar het uitvoerbestand.

Inhoudsopgave



Syntaxis van uniq Command

De basissyntaxis van de ` uniq`> opdracht luidt:

uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>

Hier,

parseer tekenreeks naar int
  • `OPTIONS`> : Optionele vlaggen die het gedrag van de ` uniq`> commando.
  • `INPUT_FILE`> : het pad naar het invoerbestand dat de tekstgegevens bevat. Indien niet gespecificeerd, ` uniq`> leest van de standaardinvoer (meestal het toetsenbord).
  • `OUTPUT_FILE`> : Het pad naar het uitvoerbestand waar de unieke regels worden geschreven. Indien niet gespecificeerd, ` uniq`> schrijft naar de standaarduitvoer (meestal de terminal).

Gemeenschappelijke opties van de uniq> Commando

Hier zijn enkele algemene opties die kunnen worden gebruikt met de ` uniq`> commando:



Opties

Beschrijving

-c, –telling



Geef regels een voorvoegsel door het aantal exemplaren in de invoer, gevolgd door een spatie.

-d, –herhaald

Alleen uitvoerregels die in de invoer worden herhaald.

-i, –negeer-hoofdlettergebruik

Negeer verschillen tussen hoofdletters en kleine letters bij het vergelijken van lijnen.

-f, –skip-velden=N

Vermijd het vergelijken van de eerste N velden op elke regel.

-s, –skip-chars=N

Vermijd het vergelijken van de eerste N tekens op elke regel.

-u, –uniek

Alleen uitvoerregels die uniek zijn in de invoer.

Voorbeelden van het gebruik van de ` uniq`> Commando

Laten we nu het nut hiervan begrijpen met behulp van een voorbeeld. Stel dat u een tekstbestand hebt met de naam kt.txt dat herhaalde regels bevat die moeten worden weggelaten. Dit kan eenvoudig met uniq.

//displaying contents of kt.txt//   $cat kt.txt   I love music. I love music. I love music. I love music of Kartik. I love music of Kartik. Thanks.>

Hoe dubbele regels te verwijderen met de opdracht `uniq`

Om dubbele regels te verwijderen uit ` kt.txt`> , we kunnen de ` uniq`> commando:

uniq kt.txt>

verwijder dubbele regels

verwijder dubbele regels

Zoals je kunt zien dat we in het bovenstaande uniq-voorbeeld alleen de naam van het invoerbestand hebben gebruikt en omdat we geen enkel uitvoerbestand hebben gebruikt om de geproduceerde uitvoer op te slaan, gaf het uniq-commando de gefilterde uitvoer op de standaarduitvoer weer met alle dubbele lijnen verwijderd.

Let op: uniek kan de dubbele lijnen niet detecteren, tenzij ze naast elkaar liggen. De inhoud in het bestand moet dus eerst gesorteerd worden voordat je uniq gebruikt of je kunt er gewoon gebruik van maken sorteer -u in plaats van uniq-commando.

Hoe dubbele regels te tellen met behulp van de opdracht `uniq` in Linux

De ` -c`> optie geeft elke regel een voorvoegsel met het aantal keren dat de invoer voorkomt:

uniq -c kt.txt>
Tellen van dubbele regels

Tellen van dubbele regels

In dit voorbeeld wordt aan het begin van elke regel het herhaalde nummer weergegeven

Hoe herhaalde regels kunnen worden weergegeven met de opdracht `uniq` in Linux

De ` -d`> optie drukt alleen dubbele regels af:

uniq -d kt.txt>
alleen dubbele regels weergeven

alleen dubbele regels weergeven

Hoe u alle dubbele regels kunt weergeven met de opdracht `uniq` in Linux

De ` -D`> optie drukt alle dubbele regels af, niet slechts één per groep:

uniq -D kt.txt>
drukt alle dubbele regels af

drukt alle dubbele regels af

Unieke regels weergeven met de opdracht `uniq` in Linux

De ` -u`> optie drukt alleen unieke regels af:

uniq -u kt.txt>

drukt alleen unieke lijnen af

drukt alleen unieke lijnen af

Eerste N velden overslaan ( -f> keuze) Het commando `uniq` gebruiken in Linux

De ` -f N`> optie slaat de eerste N velden over voordat lijnen worden vergeleken. Handig voor genummerde lijnen:

uniq -f 2 f1.txt>

//inhoud van f1.txt weergeven//
1. Ik hou van muziek.
2. Ik hou van muziek.
3. Ik hou van muziek van Kartik.
4. Ik hou van muziek van Kartik.

`-s N` optie

`-s N` optie

In dit voorbeeld wordt 2 gebruikt omdat we de lijnen na de nummering 1,2 en na de punten moesten vergelijken

Eerste N tekens overslaan ( -s> keuze) Het commando `uniq` gebruiken in Linux

De ` -s N`> optie slaat de eerste N tekens in elke regel over:

//inhoud van f2.txt weergeven//
#%@Ik hou van muziek.
^&(Ik hou van muziek.
*-!@Bedankt.
#%@!Bedankt.

uniq -s 3 f2.txt>

In dit voorbeeld worden regels na het overslaan van 3 tekens gefilterd.

`-s N` optie

`-s N` optie

Vergelijking beperken tot eerste N tekens ( -w> keuze) Het commando `uniq` gebruiken in Linux

Gebruik de optie -w: Net als bij het overslaan van tekens kunnen we uniq ook vragen om de vergelijking te beperken tot een bepaald aantal tekens. Hiervoor wordt de opdrachtregeloptie -w gebruikt.

//inhoud van f3.txt weergeven//
Hoe is het mogelijk?
Hoe kan het gedaan worden?
Hoe te gebruiken?

uniq -w 3 f3.txt>

Omdat de eerste 3 karakters van alle 3 de regels hetzelfde zijn, heeft uniq deze allemaal als duplicaten behandeld en dienovereenkomstig uitvoer gegeven.

Gebruik de optie -w

Gebruik de optie -w

Hoofdletterongevoelige vergelijking ( -i> keuze) Het commando `uniq` gebruiken in Linux

De ` -i`> optie maakt de vergelijking hoofdletterongevoelig:

//inhoud van f4.txt weergeven//
IK HOU VAN MUZIEK
ik hou van muziek
BEDANKT

uniq f4.txt>

Hier worden regels niet als duplicaten behandeld met eenvoudig gebruik van uniq

//gebruik nu de optie -i//

uniq -i f4.txt>

Nu wordt de tweede regel verwijderd wanneer de optie -i wordt gebruikt.

vergelijking hoofdletterongevoelig

vergelijking hoofdletterongevoelig

NULL beëindigde uitvoer ( -z> keuze) Het commando `uniq` gebruiken in Linux

Met behulp van de optie -z: Standaard wordt de uitvoer die Uniq produceert op een nieuwe regel beëindigd. Als u echter wilt, wilt u in plaats daarvan een NULL-beëindigde uitvoer hebben (handig als u met uniq in scripts werkt). Dit kan mogelijk worden gemaakt met behulp van de opdrachtregeloptie -z.

Syntaxis:

uniq -z file-name>

Conclusie

In dit artikel bespraken we deuniq>command in Linux is een veelzijdig hulpmiddel voor het verwerken van dubbele regels in tekstbestanden. Door de verschillende opties te begrijpen, kunt u tekstgegevens efficiënt beheren en verwerken. Experimenteer met verschillende opties en voorbeelden om het gebruik van deuniq>commando.

?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L