Sélectionner des lignes aléatoires à partir d'un fichier dans bash [dupliquer]

cette question a déjà une réponse ici:

  • Quelle est la meilleure façon de lire une ligne aléatoire à partir d'un fichier dans la ligne de commande Unix? 13 Réponses

en script bash je veux choisir N lignes aléatoires à partir du fichier d'entrée et de sortie vers un autre fichier. comment cela peut-il être fait?

123
demandé sur John Carter 2012-02-12 05:27:57

2 réponses

utilisez shuf avec l'option -n comme indiqué ci-dessous, pour obtenir N lignes aléatoires:

shuf -n N input > output
372
répondu dogbane 2016-06-16 20:48:07

trier le fichier au hasard et choisir en premier 100 lignes:

$ sort -R input | head -n 100 >output
138
répondu user881480 2012-02-12 03:18:51