grep을 사용하여 -R이 포함된 행을 얻는 방법

grep을 사용하여 -R이 포함된 행을 얻는 방법

grep을 사용하여 파일에서 "-R"을 찾는 방법은 무엇입니까? grep "-R" *.GNU-R이 포함된 줄을 가져오려고 했지만 아무것도 반환되지 않았습니다.

답변1

노력하다:

grep -- -R *.GNU

--옵션의 끝을 나타내 -R므로 옵션이 아닌 매개변수로 처리됩니다.grep

답변2

상당수의 GNU 도구는 더 이상 명령줄 옵션을 자체적으로 구문 분석하지 않도록 도구( , 등)에 알릴 수 있는 옵션을 지원 합니다 rm. 이 옵션은 명령줄 입력에 이중 대시를 표시하여 편리하게 사용할 수 있습니다 .grepls--

이에 대한 자세한 내용은 다음에서 읽을 수 있습니다.GNU CoreUtils FAQ. 구체적으로 이 섹션의 제목은 다음과 같습니다.11 대시로 시작하는 파일을 삭제하는 방법.

이를 통해 -대시(즉)로 시작하는 파일을 명령줄 인수로 전달할 수 있습니다.

rm ./-stuff
rm /full/path/-stuff
rm -- -stuff

mv ./-stuff differentstuff
mv -- -stuff differentstuff

답변3

가장 일반적인 방법

grep -- -R *.GNUgrep의 일부 변형과 함께 작동합니다. --grep에게 플래그 검색을 중지하라고 지시합니다 .

grep -e -R *.GNU또한 작동합니다. -egrep에게 검색 패턴을 따르도록 지시합니다 .

대안

grep '[-]R' *.GNU

[-]캐릭터 클래스. 이 클래스에는 문자가 하나만 있으므로 하이픈( -)과 일치해야 합니다.

grep '.\?-R' *.GNU

물음표는 grep에게 앞의 문자가 선택 사항임을 나타냅니다. .모든 문자 와 일치합니다 .

grep '\(\)-R' *.GNU

대괄호는 비어 있습니다.그룹.

답변4

이렇게 대시를 탈출해 보세요

grep "\-R" *.GNU

관련 정보