Al azar seleccione líneas de un archivo sin sorberlo con Unix

Tengo un archivo de 10 ^ 7 líneas, en el que quiero elegir 1/100 de líneas al azar del archivo. Este es el código AWK que tengo, pero absorbe todo el contenido del archivo de antemano. La memoria de mi PC no puede manejar tales sorbos. ¿Hay otro enfoque para hacerlo?

awk 'BEGIN{srand()}
!/^$/{ a[c++]=$0}
END {  
  for ( i=1;i<=c ;i++ )  { 
    num=int(rand() * c)
    if ( a[num] ) {
        print a[num]
        delete a[num]
        d++
    }
    if ( d == c/100 ) break
  }
 }' file

Respuestas a la pregunta(10)

Su respuesta a la pregunta