Поиск и удаление записей в текстовом файле/файле базы данных/электронной таблицы

Поиск и удаление записей в текстовом файле/файле базы данных/электронной таблицы

Я получил файл .txt с полями, разделенными табуляцией. Файл содержит более 65 тыс. записей.

Я хочу отредактировать файл, удалив некоторые записи. В частности, я хочу найти все записи, содержащие определенное слово — скажем, «taffy» — в любом из его полей. Поле может — или не может — начинаться с «taffy», это может быть 2-е или 3-е слово в поле.

Я импортировал этот .txt-файл в Apple Numbers как электронную таблицу, но с удовольствием воспользуюсь для этого приложением для работы с базами данных (бесплатным или недорогим).

Конечный результат будет использоваться как простая справочная таблица и может быть либо электронной таблицей, либо файлом базы данных.

Какое приложение позволит мне выполнить поиск по этому файлу и сгруппировать записи в соответствии с результатами (содержащими «taffy» в одном из полей), чтобы их можно было выбрать несколько раз и удалить?

Может быть, я ищу приложение, которое позволяет использовать логические или регулярные выражения в своей функции поиска? И может группировать записи в соответствии с результатами поиска.

Спасибо,

решение1

Запустите Терминал и используйте командугрэпчтобы отфильтровать строки, не содержащие «Taffy», вот так:

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

Это даст вам новый файл ( output_file.txt) без строк, содержащих taffy.

Другим полезным вариантом может быть --ignore-caseопция.

Объяснение:

  • --invertвыбирает строкинетсодержащий поисковое выражение
  • --no-filenameподавляет имя файла как часть вывода
  • --ignore-caseигнорирует регистр поисковой строки; Taffy, tAfFy, taffy и TAFFY — все совпадают.
  • перенаправляет >вывод команды в файл.

Связанный контент