Я погуглил следующую ошибку и не получил каких-либо хороших объяснений того, что происходит с 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 ответ1

0

Это, очевидно, известная ошибка в 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).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .