给定输入
echo abc123def | grep -o '[0-9]*'
在一台计算机上(使用 GNU grep 2.5.4),这会返回123
,而在另一个(使用 GNU grep 2.5.1)上它返回空字符串。是否有一些解释为什么 grep 2.5.1 在这里失败,或者这只是一个错误?我在用着grep -o
以这种方式在 bash 脚本中,我希望能够在不同的计算机上运行(可能有不同版本的 grep)。是否有“正确的方法”来获得一致的行为?
是的,2.5.1 的-o
处理有问题:http://www.mail-archive.com/[电子邮件受保护]/msg00993.html http://www.mail-archive.com/bug-grep@gnu.org/msg00993.html
Grep 可能不是适合此目的的工具;sed
or tr
甚至perl
可能会更好,具体取决于实际任务是什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)