【发布时间】:2018-11-09 12:19:53
【问题描述】:
我正在尝试迁移由许多单独的文本文件组成的数据。第一步是删除文本文件中不再使用的所有行。这些行是键值对。我想删除文件中的所有内容,除了那些带有某些键的行。我不知道文件中键的顺序。
我想保留的键是例如版本、日期和编号。
我发现了这个问题Remove all lines except matching pattern line best practice (sed) 并尝试了接受的答案。我的 sed 命令是
sed '/^(version=.*$)|(date=.*$)|(number=.*$)/!d' file.txt
在地址后面加上一个 !d 来删除所有与模式不匹配的行。
正则表达式示例:https://regex101.com/r/LKfxpP/2
但它不断删除我文件中的所有行。我的错误在哪里?我认为我的正则表达式有误,但这里的错误是什么?
【问题讨论】: