【发布时间】:2021-03-12 15:27:05
【问题描述】:
我刚刚开始在 macOS 中使用 (bash/zsh) shell 脚本。我遇到了“sed”语句的问题:
我设置了以下变量
var1=MACBOOKPRO
执行以下终端命令时:
echo $var1 | sed -- 's/IMAC/IM/g; s/IMACPRO/IMP/g; s/MACMINI/MM/g; s/MACMINIPRO/MMP/g; s/MACBOOK/MB/g; s/MACBOOKAIR/MBA/g; s/MACBOOKPRO/MBP/g; s/MACPRO/MP/g; s/POWERMAC/PM/g'
产生以下输出:MBPRO(这不是我想要的)
但是当使用以下命令时:
echo $var1 | sed -- 's/MACBOOKPRO/MBP/g; s/IMAC/IM/g; s/IMACPRO/IMP/g; s/MACMINI/MM/g; s/MACMINIPRO/MMP/g; s/MACPRO/MP/g; s/MACBOOKAIR/MBA/g; s/MACBOOK/MB/g; s/POWERMAC/PM/g'
我得到了不同的(但正确的输出)! - MBP
有人知道为什么会这样吗?
提前感谢您的回复 查理
【问题讨论】: