2012-11-02 2 views
0

man bash | grep "\-d"그렙 초기 공간

많은 여기 무슨 일이야?

+0

그것은 나를 위해 올바르게 작동 나를 에 대한 응답을 제공하는 것이 될 수있다. -d가 공백 뒤에 오는 행만 표시합니다. –

+0

둘 다 나에게 결과를줍니다. –

답변

4

실제로 실제로 보이는 모양입니다. 공백이 없기 때문에 grep은 아무 것도 찾지 않습니다. 당신이 man bash의 실제 출력을 검사하는 경우 :

man bash > data 

그런 다음 화면의 공간으로 렌더링되는 것을 실제로 이스케이프 시퀀스입니다 것을 볼 수 있습니다 data를보십시오. 어떻게 화면에 다음과 같습니다

May also be specified as -d. 

실제로이 :

May also be specified as ^[[1m-d^[[22m. 

귀하의 터미널이 잘 해석합니다. grep은 그렇지 않습니다.

+0

그래, 알 겠어. 내 대답은 여기에있다 : http://stackoverflow.com/questions/12600533/man-grep-grep-color-gives-no-result –

+0

다음 일 수도있다 :'- b-d \ bd로 지정할 수도있다 .' – mob

0

" \-d"을 탭이나 비 ASCII 공간이있는 곳에서 잘라 붙여 넣었습니까? 다음 작업은 모두 내 우분투 12 리눅스 3.2.0-32 시스템에서 확인하십시오. 첫 번째 경우는 " 이후의 공백이 아스키 공간입니다.

man bash | grep " \-d" 
man bash | grep " -d" 
man bash | grep -- "-d" 
man bash | grep -- " -d" 
man bash | grep -- "-d" |wc 
man bash | grep -- " -d" |wc 

후자의 두 가지 형태의 출력 및 각각 43 300 261112 118 855. 패턴 끝이 대시가 아닌 공백으로 시작되는 네 번째 및 여섯 번째 항목에는 옵션 끝을 나타내는 --이 필요하지 않습니다.

0

남자 bash | 에서

"-d"GREP 날

그러나 여기

남자 bash는 대응 방법 당신이 제공하는 문자열 "-d"

를 검색하는 경우입니다 | grep "-d"

문자열 "-d"(-d 앞에 공백이 있는지 확인)를 찾고 있습니다. 는 '사람 강타는'그런 캐릭터

이 없습니다하지만 (나는 스크린 샷을 게시 할 수 없습니다)