grep:tcsh 中日期表达式的反向引用无效

grep:tcsh 中日期表达式的反向引用无效

我用 Google 搜索了以下错误,但没有得到任何关于 tcsh 下 grep 发生了什么的很好的解释。(是的,该日期表达式存在于日志文件中)。

$ grep '2014-07-21' *.log
grep: Invalid back reference

奇怪的是,如果我切换到 bash,命令就可以正常工作(这是我当前的解决方法)。有人知道这是怎么回事吗?

which因为有人会问,以下是和的结果alias

$ which grep
/bin/grep

$ alias grep
$               # (Nothing)

这是在 RHEL 5.4 (Red Hat) 上运行的。

答案1

这显然是已知错误在我正在使用的 Tcsh 和 RedHat 的特定版本中。显然,有一个针对此问题的修补版本,如本勘误表中描述了对于 RedHat 5.4:

Expansion of multiple filename globs failed if any glob in a command line
expression failed. The correct behavior outlines that a glob command should
only fail if all components of the command fail. This behavior is restored
with this updated package. (BZ#529703)

我检查了一下,确实安装了有缺陷的 tcsh 版本,如上面的错误报告中所述:

$ rpm -qa tcsh
tcsh-6.14-14.el5_4.2

显然,我公司的 IT 部门尚未安装此 tcsh 补丁(尽管我最近了解到我们很快就会升级到 RedHat EL 6.x)。

相关内容