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 中的 Tcsh 中。顯然有一個 tcsh 的修補版本可用來解決此問題,如下所示本勘誤表中所描述的,對於 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)。

相關內容