首页 > 解决方案 > Grep 多个单词的行和行尾,如果匹配则替换行尾

问题描述

我需要为包含多个可能单词并且以“=1”结尾的行生成一个长文本文件,然后用相同的文本替换该行,除了将“=1”更改为“=0”。

我正在使用 BBEdit。

到目前为止,我已经找到了包含所需匹配且也以 1 结尾的行:

^(.*test|.*disabled|.*inactive|.*server).*(=1)

我无法成功更换。

以下是文件中的一些示例文本行:

OU>2020,OU>Disabled Accounts,DC>net,DC>example,DC>com=1
OU>Distribution Groups,DC>net,DC>example,DC>com=1
OU>Exchange Servers,DC>net,DC>example,DC>com=1
CN>Users,DC>net,DC>example,DC>com=1
OU>Test Servers,OU>Servers,OU>ABC,DC>net,DC>example,DC>com=1

例如,上面的第一行将其 =1 更改为 =0,如:

OU>2020,OU>Disabled Accounts,DC>net,DC>example,DC>com=0

其他匹配将遵循该模式。

标签: grepbbedit

解决方案


在玩了更多之后,这似乎有效:

寻找:

(^.*(test|disable|inactive|server).*)(=1)$

代替:

\1=0

推荐阅读