![유닉스의 grep 명령](https://linux55.com/image/158235/%EC%9C%A0%EB%8B%89%EC%8A%A4%EC%9D%98%20grep%20%EB%AA%85%EB%A0%B9.png)
grep “^[^a-z]” foo
와 사이에 차이가 있나요 grep –v “^[a-z]” foo
?
첫 번째 명령이 일부 강조 표시된 문자를 표시하는 동안 동일한 출력을 표시합니다. 이것이 유일한 차이점입니까?
답변1
먼저 귀하의 명령이 워드 프로세서에 붙여져 있다는 점을 지적해야 합니다. 명령의 따옴표는 "스마트 따옴표"이며 아무런 효과가 없습니다.
그 외에 명령어는 거의 동일합니다.
grep "^[^a-z]" foo
[^a-z]
정규식은 "단일 문자와 일치합니다.존재하지 않는다목록에서". 따라서 이 명령은 파일의 모든 foo
행 과 일치합니다.확실히소문자로 시작하세요.
grep -v "^[a-z]" foo
[a-z]
정규식은 "단일 문자와 일치합니다.전시하다in the list"이지만 옵션은 "invert-match"입니다(선택한 줄은 지정된 패턴과 일치하지 않는 줄입니다.). 따라서 파일에서 일치하는 모든 줄을 -v
찾습니다 .foo
확실히소문자로 시작하세요. 차이점이 명령은 빈 줄과도 일치합니다.