【发布时间】:2013-09-14 14:19:01
【问题描述】:
Grep --byte-offset 不返回偏移量(Grep 版本 2.5.1)
你好,
我正在尝试使用
代码:
grep -b -o "pattern"
在我的服务器中,我使用的是 GNU grep 2.14 版,代码运行良好。但是,当我在使用 GNU grep 2.5.1 版的不同服务器中部署相同的代码时,代码无法正常工作。即使字节偏移选项在那里可用。知道如何解决它。
例子:
代码:
export string="abc cat mat rat cat bat cat fat rat tat tat cat"
echo $string|grep -b -o "cat"
预期输出(在 grep 2.14 中支持):
4:cat
16:cat
24:cat
44:cat
但与 grep 版本 2.5.1 相同的代码给出以下输出:
0:cat
cat
cat
cat
请建议..
【问题讨论】:
-
您是否真的尝试过使用更详细的选项
--byte-offset? -
如果可以为您解决问题,您为什么不升级到 2.14?我不太确定您期望的答案是什么。
-
奇怪的是,我有一个带有 grep 2.5.1 的 RHEL 5.7 系统,它显示了这个问题。但是,使用默认配置构建的最新 2.15 tar-ball 也重现了同样的问题。然后,如果我移动到最近的 Ubuntu 系统(安装 2.6.3 grep 工作正常)并在那里编译 2.15 源,它工作正常。这似乎消除了可能的配置细节。我想知道我在这里看到的是否还有其他依赖于平台的效果。