这只是一个简单的问题。
为什么这个 bash 命令在 Ubuntu Server 上可以正常工作并找出 ISBN 代码,但在我的 Ubuntu Desktop 上却不起作用?两个系统都是 22.04 LTS。
echo "ISBN 5-02-013850-9" | awk '/ISBN [0-9]{1}-[0-9]{2}-[0-9]{6}-[Xx0-9]{1}/ {print $0}'
提前致谢。
答案1
可能其中一个正在使用gawk
(GNU awk),而另一个正在使用mawk
,它似乎不支持 RE 括号量词。请使用 进行检查awk -W version
。
mawk
似乎是awk
Ubuntu 22.04 中的默认设置,但如果您随后安装,gawk
它将通过update-alternatives
机制优先考虑。
顺便说一句,[Xx|0-9]
应该是[Xx0-9]
(除非您尝试匹配文字|
)。