!['grep -v "^[...]"'은(는) 무슨 뜻인가요?](https://linux55.com/image/187609/'grep%20-v%20%22%5E%5B...%5D%22'%EC%9D%80(%EB%8A%94)%20%EB%AC%B4%EC%8A%A8%20%EB%9C%BB%EC%9D%B8%EA%B0%80%EC%9A%94%3F.png)
나는 이 줄을 썼다 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'
.
*질문과 관련이 없지만 문자 클래스 ]
의 ^
문자 사용을 문서화하려면 다음을 수행하십시오.-
^
캐릭터 인 경우 : 어디에나 배치할 수 있지만 []
첫 번째 캐릭터인 경우에는 해당 클래스의 캐릭터에 작용합니다. 문자
인 경우 : 첫 번째 문자여야 합니다. 문자 인 경우 : 마지막 문자여야 합니다.]
-