【发布时间】:2018-11-27 10:37:22
【问题描述】:
我遇到了一个很奇怪的问题,下面是带有 sed 命令的 shell 脚本:
rec="001 MOVE 'N' TO abcdefgef"
vname=`sed 's| *MOVE *\([^ ]*\) .*|\1|' <<<$rec`
echo "vname=$vname"
输出: vname=001'N'
我希望它只是'N'而不是 001'N'。 有人可以解释为什么 001 会输出吗?如果常规 exp 不匹配,我应该将 gettign 完整字符串作为输出。如果 001 匹配,它怎么会漏掉 MOVE 字呢?
【问题讨论】: