Buscar y eliminar registros en un archivo de texto/db/hoja de cálculo

Buscar y eliminar registros en un archivo de texto/db/hoja de cálculo

Recibí un archivo .txt con campos delimitados por tabulaciones. El archivo contiene más de 65.000 registros.

Quiero editar el archivo, eliminando algunos registros. Específicamente, quiero encontrar todos los registros que contengan una palabra en particular, digamos "caramelo", en cualquiera de sus campos. El campo puede (o no) comenzar con "taffy", puede ser la segunda o tercera palabra en un campo.

Importé este archivo .txt en Apple Numbers como una hoja de cálculo, pero estoy feliz de usar una aplicación de base de datos (que sea gratuita o barata) para hacerlo.

El resultado final se utilizará como una tabla de búsqueda simple y puede ser una hoja de cálculo o un archivo de base de datos.

¿Qué aplicación me permitirá buscar este archivo y agrupar registros según los resultados (que contienen "taffy" en uno de los campos) para que puedan seleccionarse varias veces y eliminarse?

¿Quizás estoy buscando una aplicación que permita el uso de expresiones booleanas o regulares en su función de búsqueda? Y puede agrupar registros según los resultados de la búsqueda.

Gracias,

Respuesta1

Inicie una Terminal y use el comandogreppara filtrar las líneas que no contienen "Taffy", así:

grep --invert --no-filename taffy input_file.txt > output_file.txt

Esto le proporciona un nuevo archivo ( output_file.txt) sin las líneas que contienen caramelo.

Otra opción útil podría ser la --ignore-caseopción.

Explicación:

  • --invertselecciona las líneasnoque contiene la expresión de búsqueda
  • --no-filenamesuprime el nombre del archivo como parte de la salida
  • --ignore-caseignora el caso de la cadena de búsqueda; Taffy, tAfFy, taffy y TAFFY coinciden.
  • redirige >la salida del comando a un archivo.

información relacionada