我正在尝试在配置文件中替换名为boots
的软件包的所有引用。
行格式为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'
什么是正确的正则表达式?我认为我在 bool(boolean) 或(
package
或pkg
)部分缺少某些内容。 最佳答案
sed -e 's/add fast \(pkg\|package\) boots-.*/add yinst pkg boots-5.0/g'
您总是可以通过两次操作来避免OR
sed 's/add fast pkg boots-.*/add yinst pkg boots-5.0/g
s/add fast package boots-.*/add yinst pkg boots-5.0/g'