
나는 다음 오류를 검색했지만 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로 업그레이드할 것이라는 사실을 알게 되었지만).