Recherche de site Web

7 exemples intéressants de commandes Linux « trier » – Partie 2


Dans notre dernier article, nous avons couvert divers exemples de la commande « sort ». Si vous l'avez manqué, vous pouvez le rattraper en suivant le lien ci-dessous. Dans cet article, nous continuerons là où nous nous sommes arrêtés dans l'article précédent, pour couvrir les aspects restants de la commande. De cette façon, les deux articles serviront ensemble de guide complet de la commande Linux « sort ».

Avant de continuer, veuillez créer un fichier texte nommé « month.txt » et le remplir avec les données fournies ci-dessous.

echo -e "mar\ndec\noct\nsep\nfeb\naug" > month.txt
cat month.txt

15. Tri du contenu des fichiers par mois

La commande suivante trie le contenu du fichier « month.txt » par ordre chronologique en fonction de l'abréviation ou du nom du mois à l'aide de l'option '-M' qui indique au 'sort' pour traiter les données comme des dates et les trier en conséquence.

sort -M month.txt

16. Tri de la sortie par taille de fichier dans un format lisible par l'homme

La commande suivante combine les commandes « ls » et « sort » pour effectuer deux tâches. Tout d'abord, il répertorie le contenu du répertoire personnel de l'utilisateur au format long, puis il redirige cette liste de répertoires vers la commande « trier » pour imprimer la taille des fichiers dans un format lisible par l'homme, ce qui facilite l'identification des fichiers les plus gros et les plus petits. le répertoire.

ls -l /home/$USER | sort -h -k5

17. Vérification de la cohérence des fichiers triés

Dans l'article précédent, nous avons généré deux fichiers texte : 'sorted.txt' dans l'exemple numéro 4 et 'lsl.txt' dans l'exemple numéro 6. Nous sommes conscients que ' sorted.txt' est déjà trié, alors que 'lsl.txt' ne l'est pas.

Pour vérifier l'état de tri des deux fichiers, nous utiliserons la commande 'sort', qui nous permettra de confirmer si 'sorted.txt' reste dans le bon ordre et si 'lsl.txt' nécessite un tri.

sort -c sorted.txt

S'il renvoie 0, cela signifie que le fichier est trié et qu'il n'y a pas de conflit.

sort -c lsl.txt

18. Gestion des délimiteurs lorsque vous n'utilisez pas d'espaces dans un fichier

Si le délimiteur (séparateur) entre les mots est un espace, la commande « trier » interprète automatiquement tout ce qui se trouve après un espace horizontal comme un nouveau mot. Mais que se passe-t-il lorsque le délimiteur n’est pas un espace ?

Prenons un fichier texte dont le contenu est séparé par autre chose qu'un espace tel que '|' ou '\' ou '+' ou '.' ou ...

Créez un fichier texte dont le contenu est séparé par +. Utilisez la commande cat pour vérifier le contenu du fichier.

echo -e "21+linux+server+production\n11+debian+RedHat+CentOS\n131+Apache+Mysql+PHP\n7+Shell Scripting+python+perl\n111+postfix+exim+sendmail" > delimiter.txt
cat delimiter.txt

Triez maintenant ce fichier en fonction du 1er champ qui est numérique.

sort -t '+' -nk1 delimiter.txt

Le second est basé sur le 4ème champ qui n'est pas numérique.

Si le délimiteur est Tab, vous pouvez utiliser $'\t' à la place de '+', comme indiqué dans l'exemple ci-dessus.

19. Tri aléatoire des sorties par taille de fichier

Triez la sortie de la commande ls -l pour votre répertoire personnel en fonction de la cinquième colonne, qui représente la « quantité de données », dans un ordre aléatoire.

ls -l /home/avi/ | sort -k5 -R 

Chaque fois que vous exécutez le script ci-dessus, vous obtiendrez probablement un résultat différent puisque le résultat est généré de manière aléatoire.

Comme le montre clairement la Règle numéro - 2 du dernier article, la commande tri préfère les lignes commençant par des caractères minuscules aux caractères majuscules. Vérifiez également l'exemple 3 dans le dernier article, où la chaîne « laptop » apparaît avant la chaîne « LAPTOP ».

20. Remplacement des préférences de tri par défaut

Comment remplacer la préférence de tri par défaut ? Avant de pouvoir remplacer la préférence de tri par défaut, nous devons exporter la variable d'environnement 'LC_ALL' vers 'C'.

Pour ce faire, exécutez le code ci-dessous dans votre invite de ligne de commande.

export LC_ALL=C

Et puis triez le fichier texte « tecmint.txt » en remplaçant la préférence de tri par défaut.

sort tecmint.txt

N'oubliez pas de comparer le résultat avec celui que vous avez obtenu dans l'exemple 3 et vous pouvez également utiliser l'option '-f' alias '--ignore- case' pour obtenir une sortie très organisée.

sort -f tecmint.txt

21. Combinaison de deux fichiers d'entrée en une seule opération

Que diriez-vous d'exécuter « tri » sur deux fichiers d'entrée et de les joindre en une seule fois ?

Créons deux fichiers texte, à savoir « file1.txt » et « file2.txt », et remplissons-les avec quelques données. Dans « file1.txt », nous ajouterons les numéros comme indiqué ci-dessous. Nous utiliserons également la commande cat pour inspecter le contenu du fichier

echo -e “5 Reliable\n2 Fast\n3 Secure\n1 open-source\n4 customizable” > file1.txt
cat file1.txt

Et remplissez le deuxième fichier « file2.txt » avec quelques données telles que.

echo -e “3 RedHat\n1 Debian\n5 Ubuntu\n2 Kali\n4 Fedora” > file2.txt
cat file2.txt

Maintenant, triez et joignez la sortie des deux fichiers.

join <(sort -n file1.txt) <(sort file2.txt)

Conclusion

En conclusion, cet article a exploré divers aspects de la commande « sort » sous Linux. Nous avons commencé par un tri de base par ordre alphabétique, nous sommes aventurés dans un tri numérique et basé sur la date, et avons même abordé des délimiteurs personnalisés. Nous avons également appris à remplacer les préférences de tri par défaut pour répondre à nos besoins.

De plus, nous avons discuté des techniques permettant de vérifier si un fichier est déjà trié et de combiner les opérations de « tri » pour plusieurs fichiers d'entrée. Avec les connaissances acquises ici, vous disposez d’un outil puissant pour trier et organiser efficacement les données dans un environnement Linux.

Nous espérons que cet article a été instructif et utile pour vos efforts en ligne de commande. Continuez à explorer, à apprendre et à maîtriser l’art du « trier » pour améliorer vos compétences Linux.