Me preguntaba si hay una manera más eficiente para realizar esta tarea. Estoy trabajando con archivos con un número de líneas que van desde un par de cientos de miles hasta un par de millones. Digamos que sé que las líneas 100,000 - 125,000 son las líneas que contienen los datos que estoy buscando. Me gustaría saber si hay una manera rápida de extraer solo estas líneas deseadas del archivo. En este momento estoy usando un bucle con grep como esto:bash pull ciertas líneas de un archivo
for ((i=$start_fid; i<=$end_fid; i++))
do
grep "^$i " fulldbdir_new >> new_dbdir${bscnt}
done
que funciona muy bien es sólo tarda más de lo que me gustaría. Y las líneas contienen más que solo números. Básicamente, cada línea tiene aproximadamente 10 campos; el primero es un entero secuencial que aparece solo una vez por archivo.
Me siento cómodo escribiendo en C si es necesario.
agrega un poco de eficiencia con 'sed -n '100000,125000p; 125001q'' –
¡Agradable! Gracias por eso – Costa
Creo que esta respuesta me funcionará, ¿qué significa p y q después de 125000 y 125001, respectivamente? – mike