Ho un elenco di dati, come
12345
23456
67891
-20000
200
600
20
...
Si supponga che la dimensione di questo set di dati (cioè righe di file) sia N
. Voglio estrarre a caso m
righe da questo file di dati. Pertanto, l'output dovrebbe essere due file, uno è il file che include questi m
righe di dati e l'altro include N-m
righe di dati.
C'è un modo per farlo usando un comando Linux?
Risposta accettata:
Questo potrebbe non essere il modo più efficiente, ma funziona:
shuf <file> > tmp
head -n $m tmp > out1
tail -n +$(( m + 1 )) tmp > out2
Con $m
contenente il numero di righe.