이것은 내 grep 검색입니다.
grep 'Invoker_Slark*' true_pairscore.txt
하지만 해당 행을 반환합니다 Invoker_Slardar
. 파일에 Invoker_Slark
.
답변1
Invoker_Slark*
그 이유는 정규 표현식으로 간주되기 때문입니다 . 즉 k*
, "k는 0회 이상 발생합니다"를 의미합니다.
*
이는 0개 이상의 문자를 나타내는 쉘 와일드카드 패턴과 다릅니다 .
Invoker_Slark
줄의 아무 곳이나 검색하려면 다음을 수행해야 합니다.
grep 'Invoker_Slark' true_pairscore.txt
또는grep -x '.*Invoker_Slark.*' true_pairscore.txt
검색 문자열이 줄의 시작 부분에 있어야 하는 경우 다음과 같이 변경해야 합니다.
grep '^Invoker_Slark' true_pairscore.txt
또는grep -x 'Invoker_Slark.*' true_pairscore.txt