Windows 버전의 grep
( qgrep
)를 사용하고 있으며 해당 매개변수를 사용하고 있지만 -e
원하는 결과를 얻지 못합니다.
처리하려는 라우터 로그 파일이 있는데, 구체적으로 다음과 같습니다.
SRC=18.x.x.x
또는
SRC=18y.x.x.x
로그 파일에는 다양한 콘텐츠가 있지만 SRC=a.b.c.d
소스 IP가 로 시작하는 위치에만 초점을 맞췄습니다 18
.
내가 원하는 출력은 18.x.x.x
(즉, 18.
IP만)입니다.
내 qgrep
명령은 다음과 같습니다
qgrep -e "SRC=18." source.file destination.file
나는 그 줄과 똑같은 따옴표를 사용하고 있습니다.
하지만 qgrep
무시하고 출력에 .
나와 있습니다 .18
18x
grep
아니면 qgrep
with 옵션이 내 주장의 을 -e
무시 해야 합니까?.
편집: 죄송합니다. 내 qgrep
명령이 포함되었지만 SRC=
원래 질문에는 없었습니다.
답변1
좋습니다. Unix grep과 마찬가지로 Windows용 grep 및 qgrep은 검색 문자열에 마침표(.)를 간단한 방식으로 허용하지 않습니다.
따라서 이것은 작동합니다: grep -e SRC=18[.] *.log > out.txt
따옴표는 필요하지 않습니다. 마침표 주위에 대괄호를 사용하면 됩니다.