Hoe tekstbestanden in Linux te sorteren met behulp van de sorteeropdracht

Hoe tekstbestanden in Linux te sorteren met behulp van de sorteeropdracht

Linux biedt u verschillende hulpprogramma's die u kunt gebruiken om tekstbestanden te verwerken. Of je nu dubbele gegevens wilt verwijderen of de inhoud in een bestand wilt sorteren, Linux-opdrachtregelprogramma's hebben alles wat je nodig hebt.





Dit artikel demonstreert de sorteeropdracht en hoe u deze kunt gebruiken om de inhoud in een tekstbestand te sorteren en dienovereenkomstig te rangschikken.





Wat is het sorteercommando?

Zoals hierboven vermeld, helpt het sort-commando een gebruiker bij het ordenen van de inhoud van een tekstbestand in een bepaalde volgorde. Er zijn verschillende opties beschikbaar waarmee u het bestand naar wens kunt sorteren. Het is een standaard Linux-programma dat een tekstbestand alfabetisch, numeriek, per kolom en meer kan sorteren, in normale of omgekeerde volgorde.





Andere functionaliteiten van de opdracht zijn onder meer het negeren van hoofdletters bij het sorteren, het sorteren van een bestand op maand, het negeren van lege plekken in een bestand en willekeurig sorteren. Met sort kunt u ook controleren of een bestand al is gesorteerd of niet.

Sorteren gebruiken in Linux

Hoewel sort verschillende methoden en vlaggen bevat die u kunt gebruiken, blijft het eenvoudig te leren.



Basissyntaxis

De basissyntaxis van het gebruik van sorteren is:

sort filename

...waar bestandsnaam is het absolute of relatieve pad van het tekstbestand dat u wilt sorteren.





Sorteren zal standaard de inhoud rangschikken volgens de volgende criteria:

  1. Regels die beginnen met numerieke tekens hebben de hoogste prioriteit.
  2. De opdracht sorteert de regels alfabetisch, na het sorteren van de regels die met cijfers beginnen.
  3. Regels die beginnen met kleine letters gaan vooraf aan de regels die beginnen met hetzelfde karakter in hoofdletters.

Overweeg een tekstbestand met de naam tekstbestand.txt met daarin de volgende informatie:





Om het bestand te sorteren met de standaardconfiguratie:

sort textfile.txt

Uitgang:

Een nieuw uitvoerbestand maken

Het sort commando wijzigt de inhoud van het bestand niet. Het stuurt eenvoudig de gesorteerde inhoud naar de standaarduitvoer. Dit betekent echter niet dat sort geen nieuw bestand kan maken. U kunt de -of vlag om de naam van het gesorteerde bestand op te geven en sort zal automatisch het bestand voor u maken en de inhoud toevoegen.

takenlijst die synchroniseert met Google Calendar
sort -o sortedfile filename

...waar gesorteerd bestand is de naam van het uitvoerbestand en bestandsnaam is het originele bestand dat moet worden gesorteerd.

Sorteren tekstbestand.txt en maak een nieuw uitvoerbestand voor de inhoud:

sort -o sorted.txt textfile.txt

Uitgang:

Meerdere bestanden sorteren

Om meer dan één bestand tegelijk te sorteren, geeft u gewoon de bestandsnamen door, gescheiden door de Ruimte karakter.

sort textfile.txt textfile2.txt

Uitgang:

Merk op dat sort de uitvoer van de bestanden zal samenvoegen en ze samen in de terminal zal weergeven.

Een bestand omgekeerd sorteren

Als u de rangschikking van de inhoud wilt omkeren, gebruikt u de -R vlag met de standaardopdracht. De -R in het volgende commando staat voor Achteruit .

sort -r textfile.txt

Uitgang:

Een bestand numeriek sorteren

Om een ​​bestand met numerieke gegevens te sorteren, gebruikt u de -N vlag met het commando. Sorteren zal standaard de gegevens in oplopende volgorde rangschikken.

sort -n numbers.txt

Uitgang:

Als u in aflopende volgorde wilt sorteren, keert u de rangschikking om met de -R optie samen met de -N vlag in de opdracht.

sort -rn numbers.txt

Uitgang:

Negeer hoofdletters tijdens het sorteren

Sorteren houdt standaard rekening met het hoofdlettergebruik van de inhoud. Regels die beginnen met kleine letters gaan vooraf aan regels die beginnen met de hoofdletterversie van hetzelfde teken. 'Hij is een jongen' gaat bijvoorbeeld vooraf aan 'Hij is een jongen'.

Als u wilt dat sorteren de hoofdletters negeert, specificeert u de -F of de --negeer zaak vlag als volgt:

sort -f textfile.txt
sort --ignore-case textfile.txt

Uitgang:

Sorteer een bestand op basis van maand

De ... gebruiken -M flag, kunt u de volgorde van de inhoud van een bestand wijzigen op basis van maandnamen.

sort -M textfile2.txt

Uitgang:

Negeer voorloopspaties

Soms kan het bestand dat u wilt sorteren spaties of tabs bevatten. Om dergelijke lege tekens te negeren, gebruikt u de -B vlag.

sort -b fileblanks.txt

Uitgang:

Sorteer een bestand volgens een kolom

Als u een tekstbestand heeft met gegevens die in afzonderlijke kolommen zijn gerangschikt, kunt u het bestand sorteren op basis van de inhoud van een kolom. Het enige wat u hoeft te doen is het kolomnummer samen met de -tot vlag.

Overweeg een tekstbestand met bestandsinformatie met verschillende kolommen. Een bestand met de naam sorteren output.txt volgens de achtste kolom:

computer zegt aangesloten, laadt niet op
sort -k8 -rn output.txt

Uitgang:

Pijp sorteren met andere opdrachten

Je kunt zelfs sorteren met andere Linux-commando's gebruiken om de indeling van de uitvoer te wijzigen. Om bijvoorbeeld de uitvoer van te sorteren het ls-commando volgens de grootte van de bestanden:

ls -la | sort -k5 -rn

Uitgang:

Een bestand willekeurig sorteren

U kunt de -R vlag als u de volgorde van de regels in een tekstbestand willekeurig wilt maken. Overweeg het bestand tekstbestand.txt :

sort -R textfile.txt

Uitgang:

Versienummers in een bestand sorteren

Als u een tekstbestand hebt met versie-informatie die aan een pakket is gekoppeld, kunt u de inhoud ervan sorteren met de -V of --versie-sorteren vlag.

hoe een server nitro te boosten
sort -V version.txt
sort --version-sort version.txt

Uitgang:

Controleren of een bestand is gesorteerd

De -C flag helpt u bij het identificeren van bestanden die al zijn gesorteerd volgens de opgegeven opties. Als de inhoud van het bestand correct is gesorteerd, zal sort geen uitvoer weergeven.

Om te controleren of het bestand tekstbestand.txt is uitgezocht:

sort -c textfile.txt

Laten we nu het bestand sorteren en de uitvoer opslaan in een nieuw bestand met de naam gesorteerd.txt . Bij het geven van de volgende opdracht:

sort -c sorted.txt

Uitgang:

U kunt ook verschillende vlaggen specificeren om de indeling van het bestand volgens bepaalde criteria te controleren. Om bijvoorbeeld te controleren of het bestand nummers.txt wordt in aflopende volgorde gesorteerd:

sort -c -rn numbers.txt

U ziet een uitvoer waarin staat dat het bestand niet goed is gesorteerd. Laten we het bestand sorteren en controleren of het nieuwe bestand de test doorstaat.

sort -o sorted.txt -rn numbers.txt
sort -c -rn sorted.txt

Uitgang:

Sorteer het bestand en verwijder duplicaten

Het bestand waarmee u werkt, kan dubbele gegevens bevatten. Hoewel je kunt gebruiken het uniq-commando om dergelijke informatie uit het bestand te verwijderen, kan sort deze taak voor u uitvoeren. De -u of --uniek vlag is wat je nodig hebt.

Overweeg een bestand met de naam dupliceren.txt :

Om het bestand te sorteren en de herhaalde gegevens te verwijderen:

sort -u duplicate.txt

Uitgang:

Dat zie je als je de -u vlag, sorteert alleen afzonderlijke regels en rangschikt ze volgens de opgegeven criteria.

Werken met tekstbestanden in Linux

Hoewel de kracht van teksteditors via de opdrachtregel niet te evenaren is, kun je toch kiezen voor een grafische editor zoals gedit om de inhoud van een tekstbestand gemakkelijk aan te passen. Het is ook een betere keuze voor degenen die nieuw zijn in Linux en niet met de terminal kunnen omgaan.

De beste manier om te beginnen met de opdrachtregel, en Linux in het algemeen, is door eerst de basisopdrachten te oefenen. Na het behandelen van de fundamentele hulpprogramma's, is het waarschijnlijk de beste aanpak om geleidelijk over te gaan naar complexere commando's.

Deel Deel Tweeten E-mail De Linux Commands Reference Cheat Sheet

Dit eenvoudige spiekbriefje helpt je om in een mum van tijd vertrouwd te raken met de Linux-opdrachtregelterminal.

Lees volgende
Gerelateerde onderwerpen
  • Linux
  • Bestandsbeheer
  • Linux
  • Linux-opdrachten
Over de auteur Deepesh Sharma(79 artikelen gepubliceerd)

Deepesh is de Junior Editor voor Linux bij MUO. Hij schrijft informatieve handleidingen over Linux, met als doel een zalige ervaring te bieden aan alle nieuwkomers. Ik weet niet zeker van films, maar als je over technologie wilt praten, is hij jouw man. In zijn vrije tijd kun je hem boeken zien lezen, naar verschillende muziekgenres luisteren of zijn gitaar spelen.

Meer van Deepesh Sharma

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren