Я пытаюсь перенести данные, которые состоят из множества отдельных текстовых файлов. Один шаг - удалить все строки в текстовых файлах, которые больше не используются. Строки являются парами ключ-значение. Я хочу удалить все в файле, кроме тех строк с определенными ключами. Я не знаю порядок ключей внутри файла.
Ключи, которые я хочу сохранить, например, версия, дата и номер.
Я нашел этот вопрос Удалите все строки, кроме наилучшей практики соответствия строк шаблона (sed) и попробовал принятый ответ. Моя команда sed -
sed '/^(version=.*$)|(date=.*$)|(number=.*$)/!d' file.txt
с! D после адреса для удаления всех строк, НЕ соответствующих шаблону.
Пример регулярного выражения: https://regex101.com/r/LKfxpP/2
но он продолжает удалять все строки в моем файле. Где моя ошибка? Я предполагаю, что я не прав с моим регулярным выражением, но в чем здесь ошибка?