GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo extraer texto de un archivo grande, comenzando en la primera aparición de una cadena?

Puedes simplemente usar "grep" con el -A y/o -B opciones El -A el interruptor leerá la X número de líneas después del error, por lo que probablemente sea lo que desea, y el -B el interruptor leerá X número de líneas antes del error, por lo que haría algo como esto:

grep -A10 -B2 "string to find" /path/and/file.tofind

para encontrar las 10 líneas que aparecen después de "string to find", así como las 2 líneas anteriores.

Alternativamente, y probablemente sea una solución mucho peor, podría simplemente usar "cabeza" y "cola" para encontrar la primera y luego la última parte del archivo que desea; pero esto supone que conoce los números de línea. Es decir, si tiene un archivo de línea larga y desea leer las líneas 500-510, puede probar esto:

head -510 /etc/file/to/search | tail -10

Lo que primero extraería las primeras 510 líneas del archivo y luego leería las últimas 10 de esas líneas.


Linux
  1. ¿Cómo eliminar varias líneas aleatorias de un archivo de texto usando Sed?

  2. ¿Cómo quitar el Bom de un archivo Utf-8?

  3. ¿Cómo eliminar las primeras N líneas de un archivo ASCII usando los comandos de Shell?

  4. ¿Cómo elimino líneas nuevas de un archivo de texto?

  5. ¿Cómo uso las líneas de un archivo como argumentos de un comando?

Cómo crear directorios desde un archivo de texto en Linux

Bash scripting:cómo leer datos de archivos de texto

Cómo extraer direcciones de correo electrónico de un archivo de texto en Linux

Cómo agregar texto al comienzo del archivo en Linux

Eliminar las primeras N líneas de un archivo de registro activo

¿Cómo mostrar ciertas líneas de un archivo de texto en Linux?