
Я получил файл .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 — все совпадают.- перенаправляет
>
вывод команды в файл.