鉴于输入
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/bug-grep@gnu.org/msg00993.html
Grep可能不适合这个; sed或者tr甚至perl可能更好,这取决于实际任务是什么.
| 归档时间: | 
 | 
| 查看次数: | 6102 次 | 
| 最近记录: |