Comprendre la commande bash shuf

Comprendre la commande bash shuf

«La commande shuf est utile pour remanier des lignes d'entrée au hasard vers la sortie standard. La commande shuf prend la entrée à partir de fichiers ou l'entrée standard, randomise l'entrée et donne la sortie. Cela fonctionne comme la façon dont vous mélangez les cartes et tirez une sortie aléatoire ou organisez des cartes au hasard en fonction des options que vous offrez.

Le shuf fonctionne de trois manières. Vous pouvez l'utiliser comme plage, liste ou fichier shuf. Voyons les différentes façons d'utiliser la commande shuf."

Utilisation de la commande bash shuf

Shuf fait partie des coreutiles GNU, et vous pouvez ouvrir sa page d'aide pour voir les différentes options que vous pouvez utiliser.

Si vous exécutez la commande shuf sans argument, il attend des entrées sur la ligne de commande. Une fois que vous appuyez Ctrl + d, il donne la sortie randomisée de votre entrée. Jetez un œil à l'image ci-dessous montrant comment cela fonctionne en action.

Vous pouvez également combiner Shuf en tuant la sortie d'une autre commande. Par exemple, vous pouvez mélanger la liste des fichiers dans le répertoire actuel en utilisant LS.

Dans la sortie ci-dessus, remarquez comment l'utilisation de Shuf randomise la liste du contenu de notre répertoire actuel.

1. Utilisation de Shuf comme fichier

Supposons que vous ayez un fichier que vous souhaitez randomiser. Vous pouvez utiliser la commande shuf suivie du fichier que vous souhaitez mélanger. Dans ce cas, le contenu du fichier sera mélangé et la sortie sera affichée sur la sortie standard.

Vous pouvez utiliser la syntaxe ci-dessous.

Nom de fichier $ shuf

Dans l'exemple ci-dessus, nous mélangeons toutes les lignes du fichier. Cependant, en utilisant le -n drapeau, vous pouvez ajouter le nombre de lignes que vous souhaitez mélier. Randomisons trois lignes et voyons quelle sortie nous obtenons.

$ shuf -n 3 fichier-nom

Remarquez comment avec chaque mélange, nous obtenons une sortie aléatoire.

2. Utilisation de Shuf comme gamme

Vous pouvez mélanger les entrées dans une plage donnée. Vous n'avez qu'à ajouter le borne inférieur et la limite supérieure. Shuf randomisera ensuite l'entrée dans la plage donnée, à condition d'ajouter le -je option.

Ayons un exemple de nombres randomisés de 11 à 19. Pour cela, nous exécuterons la commande ci-dessous.

$ shuf -i 11-19

Si vous vouliez obtenir une seule sortie de la plage randomisée, vous pouvez utiliser le -n comme indiqué ci-dessous.

$ shuf -i 11-19 -N 1

Avec le -n, vous ne pouvez obtenir qu'une sortie unique. Cependant, ajoutez l'indicateur -r si vous souhaitez permettre la répétition de la sortie randomisée. De cette façon, vous permettez que la sortie soit la même valeur lors de l'affichage de plusieurs lignes.

Voici un exemple de mélange d'une plage et de permettre d'afficher trois sorties qui peuvent être répétitives.

3. Utilisation de Shuf comme liste

Lorsque vous souhaitez ajouter des arguments en tant que liste dans votre commande shuf, utilisez le -e option. Les arguments qui suivent le -e seront traités comme l'entrée.

Voici un exemple de randomisation d'une liste de nombres d'alphabet.

En outre, vous pouvez randomiser une liste et décider de sortir uniquement deux lignes de sortie en utilisant le -n Comme dans la sortie ci-dessous.

Rédaction de sortie dans un fichier

Si vous souhaitez enregistrer la sortie randomisée de votre fichier, de votre plage ou de votre liste, vous pouvez utiliser le -o suivi du nom du fichier de sortie.

Randomisons une plage et enregistrons-la dans un nouveau fichier, comme indiqué ci-dessous.

Conclusion

Le mélange des entrées dans Linux est possible grâce à la commande shuf. Ce guide a introduit la commande bash shuf et donné des exemples de comment l'utiliser avec diverses options pour obtenir différentes sorties. J'espère que vous avez trouvé l'article utile.