Skip to main content

Comment trier les données dans un fichier sous Linux

StarTrek 25th Anniversary Video Game Playthrough Complete Golden Oldies (Mai 2024)

StarTrek 25th Anniversary Video Game Playthrough Complete Golden Oldies (Mai 2024)
Anonim

introduction

Dans ce guide, je vais vous montrer comment trier les données dans des fichiers délimités et à partir du résultat d'autres commandes.

Vous ne serez pas surpris d'apprendre que la commande que vous utilisez pour effectuer cette tâche s'appelle "trier". Tous les commutateurs principaux de la commande de tri seront fournis dans cet article.

Échantillon de données

Les données d'un fichier peuvent être triées tant qu'elles sont délimitées d'une manière ou d'une autre.

Par exemple, prenons le tableau de classement final de la Premier League écossaise l'année dernière et stockons les données dans un fichier appelé "spl".

Vous pouvez créer un fichier de données comme suit avec un club et les données de ce club séparées par des virgules sur chaque ligne.

ÉquipeButs marquésButs contrePoints
celtique933186
Aberdeen624871
Cœurs594065
St Johnstone585556
Motherwell476350
Comté de Ross556148
Inverness544852
Dundee535748
Partick415046
Hamilton426343
Kilmarnock416436
Dundee United457028

Comment trier les données dans des fichiers

De ce tableau, vous pouvez voir que le Celtic a remporté la ligue et que Dundee United est arrivé dernier. Si vous êtes un fan de Dundee United, vous voudrez peut-être vous sentir mieux et vous pourrez le faire en choisissant les buts marqués.

Pour ce faire, exécutez la commande suivante:

trier -k2 -t, spl

Cette fois, la commande serait la suivante:

  • Partick
  • Kilmarnock
  • Hamilton
  • Dundee United
  • Motherwell
  • Dundee
  • Inverness
  • Comté de Ross
  • St Johnstone
  • Cœurs
  • Aberdeen
  • celtique

La raison pour laquelle les résultats sont dans cet ordre est que la colonne 2 est la colonne des buts marqués et que le tri va du plus bas au plus élevé.

Le commutateur -k vous permet de choisir la colonne à trier et le commutateur -t vous permet de choisir le délimiteur.

Pour se rendre vraiment heureux, les fans de Dundee United peuvent trier par colonne 4 en utilisant la commande suivante:

trier -k4 -t, spl

Maintenant, Dundee United est en haut et le celtique en bas.

Bien sûr, cela rendrait les fans de Celtic et de Dundee très malheureux. Pour corriger le problème, vous pouvez trier dans l'ordre inverse à l'aide du commutateur suivant:

trier -k4 -t, -r spl

Un commutateur plutôt bizarre vous permet de trier de manière aléatoire, ce qui ne fait que brouiller les rangées de données.

Vous pouvez le faire en utilisant la commande suivante:

trier -k4 -t, -R spl

Cela pourrait causer de réels problèmes si vous mélangiez votre commutateur -r et votre commutateur -R.

La commande de tri peut également trier les dates dans l'ordre du mois. Pour démontrer, regardez le tableau suivant:

MoisDonnées utilisées
janvier4G
février3000K
Mars6000K
avril100M
Peut5000M
juin200K
juillet4000K
août2500K
septembre3000K
octobre1000K
novembre3G
décembre2G

Le tableau ci-dessus représente le mois de l'année et la quantité de données utilisées sur un appareil mobile.

Vous pouvez trier les dates par ordre alphabétique à l'aide de la commande suivante:

trier -k1 -t, liste dataused

Vous pouvez également trier par mois en utilisant la commande suivante:

trier -k1 -t, -M liste de dataused

Évidemment, le tableau ci-dessus les montre déjà par mois, mais si la liste était aléatoirement remplie, il s'agirait d'un moyen simple de les trier.

En regardant la deuxième colonne, vous pouvez voir que toutes les valeurs sont dans un format lisible par l'homme, ce qui ne semble pas être facile à trier mais la commande de tri peut trier la colonne de données utilisées à l'aide de la commande suivante:

trier -k2 -t, -h liste de dataused

Comment trier les données transmises à partir d'autres commandes

Bien que le tri des données dans des fichiers soit utile, la commande de tri peut également être utilisée pour trier la sortie d'autres commandes:

Par exemple, regardez la commande ls:

ls -lt

La commande ci-dessus renvoie chaque fichier sous forme de ligne de données avec les champs suivants affichés en colonnes:

  • autorisations
  • nombre de nœuds
  • Nom d'utilisateur
  • nom de groupe
  • Taille
  • date du dernier accès
  • nom de fichier

Vous pouvez trier la liste par taille de fichier en exécutant la commande suivante:

ls -lt | trier -k5

Pour obtenir les résultats dans l'ordre inverse, utilisez la commande suivante:

ls -lt | trier -k5 -r

La commande de tri peut également être utilisée avec la commande ps qui répertorie les processus en cours d'exécution sur votre système.

Par exemple, exécutez la commande ps suivante sur votre système:

ps -eF

La commande ci-dessus renvoie de nombreuses informations sur les processus en cours d'exécution sur votre système.

Une de ces colonnes est la taille et vous voudrez peut-être voir quels processus sont les plus gros.

Pour trier ces données par taille, utilisez la commande suivante:

ps -eF | trier -k5

Résumé

La commande de tri n’a pas grand-chose à faire, mais elle peut devenir utile très rapidement lors du tri des sorties d’autres commandes dans un ordre significatif, en particulier lorsque la commande ne dispose pas de ses propres commutateurs de tri.

Pour plus d'informations, lisez les pages de manuel de la commande de tri.