Comment trier des fichiers texte sous Linux à l'aide de la commande sort

Comment trier des fichiers texte sous Linux à l'aide de la commande sort

Linux vous fournit plusieurs utilitaires que vous pouvez utiliser pour traiter des fichiers texte. Que vous souhaitiez supprimer les données en double ou trier le contenu dans un fichier, les outils de ligne de commande Linux ont tout ce dont vous avez besoin.





Cet article montrera la commande de tri et comment vous pouvez l'utiliser pour trier le contenu dans un fichier texte et l'organiser en conséquence.





Quelle est la commande de tri ?

Comme mentionné ci-dessus, la commande de tri aide un utilisateur à organiser le contenu d'un fichier texte dans un ordre particulier. Plusieurs options sont disponibles qui vous permettent de trier le dossier selon votre souhait. Il s'agit d'un programme Linux standard qui peut trier un fichier texte par ordre alphabétique, numérique, par colonne, etc., dans l'ordre normal ou inverse.





Les autres fonctionnalités de la commande incluent l'ignorance de la casse des caractères lors du tri, le tri d'un fichier par mois, l'ignorance des blancs dans un fichier et le tri aléatoire. En utilisant le tri, vous pouvez également vérifier si un fichier est déjà trié ou non.

Comment utiliser le tri sous Linux

Bien que le tri contienne plusieurs méthodes et indicateurs que vous pouvez utiliser, il reste facile à apprendre.



Syntaxe de base

La syntaxe de base de l'utilisation de sort est :

sort filename

...où nom de fichier est le chemin absolu ou relatif du fichier texte que vous souhaitez trier.





Par défaut, le tri organisera le contenu selon les critères suivants :

  1. Les lignes commençant par des caractères numériques ont la priorité la plus élevée.
  2. La commande va trier les lignes par ordre alphabétique, après avoir trié les lignes commençant par des nombres.
  3. Les lignes commençant par des caractères minuscules précèdent les lignes commençant par le même caractère en majuscule.

Considérons un fichier texte nommé fichiertexte.txt contenant les informations suivantes :





Pour trier le fichier à l'aide de la configuration par défaut :

sort textfile.txt

Sortir:

Créer un nouveau fichier de sortie

La commande sort ne modifie pas le contenu du fichier. Il envoie simplement le contenu trié à la sortie standard. Cependant, cela ne signifie pas que le tri ne peut pas créer un nouveau fichier. Vous pouvez utiliser le -ou flag pour spécifier le nom du fichier trié et tri créera automatiquement le fichier pour vous et ajoutera le contenu.

comment créer un blog sur tumblr
sort -o sortedfile filename

...où fichier trié est le nom du fichier de sortie et nom de fichier est le fichier d'origine qui doit être trié.

Trier fichiertexte.txt et créez un nouveau fichier de sortie pour le contenu :

sort -o sorted.txt textfile.txt

Sortir:

Trier plusieurs fichiers

Pour trier plusieurs fichiers à la fois, transmettez simplement les noms de fichiers séparés par le Espacer personnage.

sort textfile.txt textfile2.txt

Sortir:

Notez que sort fusionnera la sortie des fichiers et les affichera ensemble dans le terminal.

Trier un fichier à l'envers

Si vous souhaitez inverser la disposition du contenu, utilisez le -r flag avec la commande par défaut. Les -r dans la commande suivante signifie Inverser .

sort -r textfile.txt

Sortir:

Trier un fichier numériquement

Pour trier un fichier contenant des données numériques, utilisez le -n flag avec la commande. Par défaut, le tri organisera les données dans l'ordre croissant.

sort -n numbers.txt

Sortir:

Si vous souhaitez trier par ordre décroissant, inversez l'ordre à l'aide de la -r option avec le -n drapeau dans la commande.

sort -rn numbers.txt

Sortir:

Ignorer la casse des caractères lors du tri

Par défaut, le tri prend en compte la casse des caractères du contenu. Les lignes commençant par des caractères minuscules précèdent les lignes commençant par la version majuscule du même caractère. Par exemple, « c'est un garçon » précédera « c'est un garçon ».

Si vous souhaitez que le tri ignore la casse des caractères, spécifiez le -F ou la --ignore-case drapeau comme suit :

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

Sortir:

Trier un fichier en fonction du mois

En utilisant le -M flag, vous pouvez modifier l'ordre du contenu d'un fichier en fonction des noms de mois.

sort -M textfile2.txt

Sortir:

Ignorer les blancs de début

Parfois, le fichier que vous souhaitez trier peut contenir des espaces ou des tabulations. Pour ignorer ces caractères vides, utilisez le -b drapeau.

sort -b fileblanks.txt

Sortir:

Trier un fichier selon une colonne

Si vous avez un fichier texte avec des données organisées dans des colonnes séparées, vous pouvez trier le fichier en fonction du contenu d'une colonne. Tout ce que vous avez à faire est de passer le numéro de la colonne avec le drapeau.

Considérons un fichier texte contenant des informations de fichier avec différentes colonnes. Pour trier un fichier nommé sortie.txt selon la huitième colonne :

comment faire en sorte que le téléphone se charge plus rapidement
sort -k8 -rn output.txt

Sortir:

Tri des tuyaux avec d'autres commandes

Vous pouvez même utiliser sort avec d'autres commandes Linux pour modifier la disposition de la sortie. Par exemple, pour trier la sortie de la commande ls selon la taille des fichiers :

ls -la | sort -k5 -rn

Sortir:

Trier un fichier au hasard

Vous pouvez utiliser le -R flag si vous voulez randomiser l'ordre des lignes dans un fichier texte. Considérez le fichier fichiertexte.txt :

sort -R textfile.txt

Sortir:

Trier les numéros de version dans un fichier

Si vous disposez d'un fichier texte contenant des informations de version associées à un package, vous pouvez trier son contenu en utilisant le -V ou --version-sort drapeau.

comment supprimer l'audio d'un fichier vidéo
sort -V version.txt
sort --version-sort version.txt

Sortir:

Vérifier si un fichier est trié

Les -c flag vous aidera à identifier les fichiers déjà triés selon les options spécifiées. Si le contenu du fichier est correctement trié, le tri n'affichera aucune sortie.

Pour vérifier si le fichier fichiertexte.txt est trié :

sort -c textfile.txt

Maintenant, trions le fichier et enregistrons sa sortie dans un nouveau fichier nommé trié.txt . A l'émission de la commande suivante :

sort -c sorted.txt

Sortir:

Vous pouvez également spécifier différents indicateurs pour vérifier l'agencement du fichier selon des critères particuliers. Par exemple, pour vérifier si le fichier nombres.txt est trié par ordre décroissant :

sort -c -rn numbers.txt

Vous verrez une sortie indiquant que le fichier n'est pas trié correctement. Trions le fichier et vérifions si le nouveau fichier réussit le test.

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

Sortir:

Trier le fichier et supprimer les doublons

Le fichier avec lequel vous travaillez peut contenir des données en double. Bien que vous puissiez utiliser la commande uniq pour supprimer ces informations du fichier, sort peut effectuer cette tâche pour vous. Les -u ou --unique le drapeau est ce dont vous avez besoin.

Considérons un fichier nommé duplicate.txt :

Pour trier le fichier et supprimer les données répétées :

sort -u duplicate.txt

Sortir:

Vous pouvez voir que lorsque vous utilisez le -u flag, sort n'affiche que les lignes distinctes et les organise selon les critères spécifiés.

Travailler avec des fichiers texte sous Linux

Bien que la puissance des éditeurs de texte en ligne de commande soit incomparable, vous pouvez toujours opter pour un éditeur graphique tel que gedit pour modifier facilement le contenu d'un fichier texte. De plus, c'est un meilleur choix pour ceux qui débutent avec Linux et ne peuvent pas gérer le terminal.

La meilleure façon de commencer avec la ligne de commande, et Linux en général, est de commencer par pratiquer les commandes de base. Après avoir couvert les utilitaires fondamentaux, avancer progressivement vers des commandes plus complexes est probablement la meilleure approche.

Partager Partager Tweeter E-mail La feuille de triche de référence des commandes Linux

Cette simple aide-mémoire vous aidera à vous familiariser avec le terminal de ligne de commande Linux en un rien de temps.

Lire la suite
Rubriques connexes
  • Linux
  • Gestion de fichiers
  • Linux
  • Commandes Linux
A propos de l'auteur Profonde Sharma(79 articles publiés)

Deepesh est l'éditeur junior pour Linux chez MUO. Il écrit des guides d'information sur Linux, visant à offrir une expérience heureuse à tous les nouveaux arrivants. Pas sûr des films, mais si vous voulez parler de technologie, c'est votre homme. Pendant son temps libre, vous pouvez le trouver en train de lire des livres, d'écouter différents genres musicaux ou de jouer de sa guitare.

Plus de Deepesh Sharma

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner