'grep -v "^[...]"'은(는) 무슨 뜻인가요?

'grep -v "^[...]"'은(는) 무슨 뜻인가요?

나는 이 줄을 썼다 diff fileA.txt fileB.txt | grep -v "^[11,12d9]". 이 grep섹션이 없으면 출력은 다음과 같습니다.

1d0  
< loop  
11,12d9  
< polo  
< pool  

그러나 사용하면 grep출력은 다음과 같습니다.

< loop  
< polo  
< pool  

grep -v나는 그것을 역 검색과 조금 비슷하다고 생각합니다 . 그런데 이 부분이 이해가 안 되는데 ^[11,12d9], 무슨 역할을 하는 걸까요?

답변1

grep -v "^[11,12d9]"

예, 아시다시피 -v이는 역방향 일치에 사용되며 주어진 것과 일치하지 않는 행을 반환합니다.무늬 ^[11,12d9].

그것이 하는 일은 ^[11,12d9]문자를 일치시키고 문자가 줄의 시작 부분( 줄 앵커의 시작 부분) [...]에 나타나면 해당 줄을 무시하는 것입니다(역방향 일치가 사용되기 때문입니다 ).^-v

1,따라서 기본적으로 , , 또는 문자 중 하나로 시작하는 줄은 2무시됩니다(문자 클래스의 중복 문자도 무시됩니다) d.9

그러나 string으로 시작하는 줄을 무시하려면 가 11,12d9필요합니다 grep -v '^11,12d9'.


*질문과 관련이 없지만 문자 클래스 ]^문자 사용을 문서화하려면 다음을 수행하십시오.-

^캐릭터 인 경우 : 어디에나 배치할 수 있지만 []첫 번째 캐릭터인 경우에는 해당 클래스의 캐릭터에 작용합니다. 문자
인 경우 : 첫 번째 문자여야 합니다. 문자 인 경우 : 마지막 문자여야 합니다.]
-

관련 정보