
Я поискал в 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).