grep: Неверная обратная ссылка для выражения даты в tcsh

grep: Неверная обратная ссылка для выражения даты в tcsh

Я поискал в Google следующую ошибку, но не получил никаких внятных объяснений того, что происходит с grep в tcsh. (Да, это выражение даты существует в файлах журнала).

$ 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 в конкретной версии Tcsh и RedHat, которую я использую. По-видимому, есть исправленная версия 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

Очевидно, ИТ-отдел моей компании еще не установил этот патч tcsh (хотя недавно я узнал, что мы скоро наконец-то обновимся до RedHat EL 6.x).

Связанный контент