web-dev-qa-db-fra.com

Sélectionner des lignes au hasard dans un fichier

Dans un script Bash, je veux choisir N ​​lignes aléatoires dans un fichier d'entrée et les exporter dans un autre fichier.

Comment cela peut-il être fait?

172
user121196

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

shuf -n N input > output
468
dogbane

Triez le fichier au hasard et sélectionnez d'abord 100 lignes:

$ sort -R input | head -n 100 >output
148
user881480