J'ai une liste de données, comme
12345
23456
67891
-20000
200
600
20
...
Supposons que la taille de cet ensemble de données (c'est-à-dire les lignes de fichier) est N
. Je veux tirer au hasard m
lignes de ce fichier de données. Par conséquent, la sortie doit être de deux fichiers, l'un est le fichier contenant ces m
lignes de données, et l'autre inclut N-m
lignes de données.
Existe-t-il un moyen de le faire en utilisant une commande Linux ?
Réponse acceptée :
Ce n'est peut-être pas le moyen le plus efficace, mais cela fonctionne :
shuf <file> > tmp
head -n $m tmp > out1
tail -n +$(( m + 1 )) tmp > out2
Avec $m
contenant le nombre de lignes.