GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel de commande Linux shuf pour les débutants (avec exemples)

Si vous avez déjà joué au jeu de cartes, vous connaissez probablement le terme mélange. Un peu difficile à imaginer, il existe un outil de ligne de commande Linux qui fait exactement cela avec des lignes dans des fichiers. Dans ce didacticiel, nous aborderons les bases de la commande "shuf" à l'aide d'exemples faciles à comprendre.

Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 18.04 LTS.

Commande Linux shuf

La commande shuf sous Linux vous permet de générer des permutations aléatoires. Voici sa syntaxe :

shuf [OPTION]... [FILE]

Et voici comment la page de manuel de l'outil l'explique :

Write a random permutation of the input lines to standard output.

Voici quelques exemples de style Q&A qui devraient vous donner une meilleure idée du fonctionnement de la commande shuf.

Q1. Comment utiliser la commande shuf ?

L'utilisation de base est très simple. Passez simplement un nom de fichier en entrée. Voici un exemple :

shuf test.txt

Maintenant, le fichier test.txt contient les lignes suivantes :

1
2
3
4
5
6
7
8
9

Mais la commande shuf ci-dessus a produit le résultat suivant :

3
4
6
5
1
8
2
7
9

Vous pouvez donc voir que les lignes ont été mélangées.

Q2. Comment limiter le nombre de lignes en sortie ?

Si vous souhaitez limiter le nombre de lignes dans la sortie shuf, utilisez l'option de ligne de commande -n, qui vous oblige à transmettre un nombre qui représente le nombre maximum de lignes que vous voulez dans la sortie.

Par exemple :

shuf -n 3 test.txt

La commande ci-dessus a produit le résultat suivant :

6
4
9

Q3. Comment autoriser la répétition des lignes dans la sortie ?

Supposons que le fichier d'entrée contienne 9 lignes, mais que vous vouliez que shuf produise plus de lignes que cela en sortie (en utilisant l'option -n discutée ci-dessus). Cela peut être fait en utilisant l'option -r.

-r, --repeat
              output lines can be repeated

Donc, si vous voulez que shuf produise 25 lignes en sortie, exécutez la commande suivante :

shuf -r -n 25 test.txt

Voici le résultat produit par cette commande :

6
8
4
5
9
3
3
1
2
5
7
5
9
5
8
5
2
8
8
7
4
4
8
5
3

Q4. Comment faire en sorte que shuf traite les arguments d'entrée comme des lignes ?

Pour cela, utilisez l'option de ligne de commande -e. Voici un exemple :

shuf -e 1 2 3 4 5 6 7 8 9

Voici la sortie produite par cette commande :

9
1
7
8
6
2
3
5
4

Conclusion

D'accord, shuf n'est pas le genre d'outil dont vous auriez besoin tous les jours, mais il n'y a pas de mal à en apprendre davantage sur cet utilitaire, d'autant plus que sa courbe d'apprentissage n'est pas si abrupte. Une fois que vous avez terminé de pratiquer tout ce dont nous avons discuté ici, rendez-vous sur la page de manuel de l'outil pour en savoir plus.


Linux
  1. Linux expand Tutoriel de commande pour les débutants (avec exemples)

  2. Tutoriel de commande de facteur Linux pour les débutants (avec exemples)

  3. Linux oui Tutoriel de commande pour les débutants (avec exemples)

  4. Tutoriel de commande pour les utilisateurs Linux pour les débutants (avec exemples)

  5. Tutoriel de commande Linux sum pour les débutants (avec exemples)

Tutoriel de commande Linux sha1sum pour les débutants (avec exemples)

Tutoriel de commande Linux look pour les débutants (avec exemples)

Tutoriel de commande Linux lsattr pour les débutants (avec exemples)

Tutoriel de commande Linux tload pour les débutants (avec exemples)

Tutoriel de commande Linux znew pour les débutants (avec exemples)

Tutoriel de commande Linux tr pour les débutants (avec exemples)