grep: недопустимая обратная ссылка для выражения даты в tcsh
Я погуглил следующую ошибку и не получил больших объяснений того, что происходит с 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).