나는 bash에서 grep을 사용하여 문자열 "-1"을 검색하고 있습니다.
보통 이렇게 "바"를 검색하는데...
glaucon@foo $ grep -irn "bar"
...이것은 잘 작동하지만 "-1"을 검색하려고 하면 다음과 같은 결과가 나타납니다...
glaucon@foo $ grep -irn "-1"
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
...빼기 기호가 특수 문자인 줄 알았는데, 그렇지 않은 것 같습니다. 나는 또한 이것이 내가 익숙하지 않은 정규식의 일부 측면인 경우를 대비하여 "고정 문자열" 옵션을 사용해 보았습니다.
glaucon@foo $ grep -irnF "-1"
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
...하지만 표시된 것처럼 이 역시 출력을 제공하지 않습니다.
분명 간단하지만... 뭐?
감사해요
답변1
-
선택적으로 백슬래시를 사용하여 대시를 이스케이프할 수 있습니다 \
.
grep -irn "\-1"
옵션의 끝을 표시하기 위해 두 개의 대시를 추가합니다(@steeldriver가 제안한 대로).
grep -irn -- "-1"
또는 -e
"다음 인수는 모드입니다"라고 명시적으로 말합니다.
grep -irn -e "-1"