我试图在配置文件中替换所有名为boots
的包的引用。布尔OR在sed正则表达式
该行格式为add fast (package OR pkg) boots-(any-other-text)
,如:
add fast package boots-2.3
add fast pkg boots-4.5
我想取代它:
add fast pkg boots-5.0
我已经试过以下sed
命令:
sed -e 's/add fast (pkg\|package) boots-.*/add yinst pkg boots-5.0/g'
sed -e 's/add fast [pkg\|package] boots-.*/add yinst pkg boots-5.0/g'
什么正确的正则表达式?我想我在布尔值或(package
或pkg
)部分丢失了一些东西。
在“两次”命令中使用分号更好。像这样:'sed's/\。ism/\ .ism \ .md5/g; s/\。usp/\。usp \ .md5/g'/ tmp/verify' – 2015-11-29 06:04:38
@EvgeniyYablokov任何特定的原因?也许简而言之,一次性脚本(比如这个)可能有一点,但我仍然认为双线版本更易于阅读。 – bobbogo 2015-11-30 14:57:19
我正在使用Windows @上的GNU-utils版本,必须像@EvgeniyYablokov那样用分号建议它工作。 – user1167442 2016-12-17 12:12:48