Primeiro você deve extrair um cabeçalho de 36 linhas do arquivo chamado input , depois escolher 60000 linhas aleatórias do restante do arquivo com a possibilidade de escolher aleatoriamente a mesma linha várias vezes. Toda saída deve ir para o arquivo chamado output .
Usando shuf dos núcleutils GNU:
#!/bin/sh
# Fetch header (36 first lines)
head -n 36 <input >output
# Scramble the other lines and pick 60000 (allowing for repeated lines)
tail -n +37 <input | shuf -r -n 60000 >>output
Alternativamente:
( head -n 36 <input; tail -n +37 <input | shuf -r -n 60000 ) >output
Com GNU head , que deixa o fluxo do arquivo de entrada na posição após a última linha produzida, o que significa que shuf pode continuar onde head terminou de ler (isso pode não funcionar com alguns implementações não-GNU head ):
( head -n 36; shuf -r -n 60000 ) <input >output