로그 파싱 쿼리 설명
=CONCATENATE(MID(P2, FIND("date=", P2) + 5, 10), " ", MID(P2, FIND("time=", P2) + 5, 8))
"date="와 "time="에 나타난 날짜와 시간 정보를 추출하여 결합하는 엑셀 함수입니다.
MID(P2, FIND("date=", P2) + 5, 10):
이 부분은 텍스트에서 "date=" 다음의 10자리 날짜를 추출합니다.
P2는 원본 텍스트가 있는 셀을 나타내며, FIND("date=", P2)는 "date="가 처음 나타나는 위치를 찾습니다.
+ 5는 "date=" 문자열의 길이를 고려하여 그 다음 문자부터 추출하도록 합니다. 그리고 10은 날짜의 길이를 나타냅니다.
" ":
두 개의 따옴표로 둘러싼 공백 문자입니다. 날짜와 시간 사이에 공백을 추가합니다.
MID(P2, FIND("time=", P2) + 5, 8):
이 부분은 텍스트에서 "time=" 다음의 8자리 시간을 추출합니다.
마찬가지로 FIND("time=", P2)는 "time="이 처음 나타나는 위치를 찾고, + 5는 "time=" 문자열의 길이를 고려하여 그 다음 문자부터 추출하도록 합니다. 그리고 8은 시간의 길이를 나타냅니다.
이 함수는 "date="와 "time="에 나타난 날짜와 시간 정보를 추출하고, 그 사이에 공백을 추가하여 결합합니다. 결과로 날짜와 시간이 "YYYY-MM-DD HH:MM:SS" 형식으로 표시됩니다.
=MID(P2, FIND("srcip=", P2) + 6, FIND(" ", MID(P2, FIND("srcip=", P2) + 6, LEN(P2) - (FIND("srcip=", P2) + 6))) - 1)
"srcip="와 " " 사이의 데이터를 추출하는 엑셀 함수입니다.
MID(P2, FIND("srcip=", P2) + 6, ...:
텍스트에서 "srcip=" 다음의 문자열을 추출합니다.
P2는 원본 텍스트가 있는 셀을 나타내며, FIND("srcip=", P2)는 "srcip="가 처음 나타나는 위치를 찾습니다.
+ 6은 "srcip=" 문자열의 길이를 고려하여 그 다음 문자부터 추출하도록 합니다.
... FIND(" ", MID(P2, FIND("srcip=", P2) + 6, LEN(P2) - (FIND("srcip=", P2) + 6))) - 1):
"srcip=" 다음의 문자열에서 첫 번째 공백(" ") 문자가 나타나는 위치를 찾습니다.
그리고 그 위치에서 -1로 "srcip="와 공백 사이의 길이를 계산합니다. 이렇게 해서 "srcip=" 다음의 공백까지의 문자열이 추출됩니다.
이 함수는 원하는 텍스트 데이터에서 "srcip="와 공백 사이의 값을 추출하는 데 사용됩니다.
함수 내부에서 "srcip="를 찾고, 이어지는 문자열 중에서 첫 번째 공백이 나타나는 위치까지의 문자열을 추출하여 원하는 결과를 얻습니다.
=SUBSTITUTE(MID(P2, FIND("srcport=", P2) + 7, FIND(" ", MID(P2, FIND("srcport=", P2) + 7, LEN(P2) - (FIND("srcport=", P2) + 7))) - 1), "=", "")
"srcport="와 " " 사이의 데이터를 추출하고, 그 결과에서 등호("=")를 제거하는 엑셀 함수입니다.
MID(P2, FIND("srcport=", P2) + 7, ...:
텍스트에서 "srcport=" 다음의 문자열을 추출합니다.
P2는 원본 텍스트가 있는 셀을 나타내며, FIND("srcport=", P2)는 "srcport="가 처음 나타나는 위치를 찾습니다.
+ 7은 "srcport=" 문자열의 길이를 고려하여 그 다음 문자부터 추출하도록 합니다.
... FIND(" ", MID(P2, FIND("srcport=", P2) + 7, LEN(P2) - (FIND("srcport=", P2) + 7))) - 1):
이 부분은 "srcport=" 다음의 문자열에서 첫 번째 공백(" ") 문자가 나타나는 위치를 찾습니다. 그리고 그 위치에서 -1을 해 "srcport="와 공백 사이의 길이를 계산합니다. 이렇게 해서 "srcport=" 다음의 공백까지의 문자열이 추출됩니다.
=SUBSTITUTE(..., "=", ""):
앞서 추출한 문자열에서 등호("=")를 제거합니다. 따라서 등호가 없는 데이터가 남게 됩니다.
결과적으로 "srcport="와 공백 사이의 데이터를 추출하고, 그 결과에서 등호를 제거하여 순수한 "srcport" 값을 얻을 수 있습니다.
=MID(P2, FIND("action=", P2) + LEN("action=") + 1, FIND("""", P2, FIND("action=", P2) + LEN("action=") + 1) - FIND("action=", P2) - LEN("action=") - 1)
"action=" 뒤에 나타나는 값을 추출하는 엑셀 함수입니다.
MID(P2, FIND("action=", P2) + LEN("action=") + 1, ...:
"action=" 다음에 나타나는 값을 추출합니다. P2는 원본 텍스트가 있는 셀을 나타내며, FIND("action=", P2)는 "action="가 처음 나타나는 위치를 찾습니다. LEN("action=")는 "action=" 문자열의 길이를 나타내며, + 1은 "action=" 다음 문자부터 추출하도록 합니다.
... FIND("""", P2, FIND("action=", P2) + LEN("action=") + 1) - FIND("action=", P2) - LEN("action=") - 1):
"action=" 다음의 큰 따옴표(")로 둘러싸인 값을 찾습니다. FIND("""", P2, FIND("action=", P2) + LEN("action=") + 1)는 "action=" 다음의 큰 따옴표의 위치를 찾습니다. 그리고 이 위치에서 "action=" 문자열의 길이와 -1을 해 원하는 값의 길이를 계산합니다.
이 함수를 사용하면 "action=" 다음에 나타나는 큰 따옴표(")로 둘러싸인 값을 추출합니다. 이를 통해 "action" 필드에서 원하는 데이터를 얻을 수 있습니다.
=RIGHT(P2, LEN(P2) - FIND(">", P2))
특정 텍스트 데이터에서 ">" 문자 이후의 모든 문자를 추출하는 엑셀 함수입니다.
P2:
원본 텍스트 데이터가 있는 셀을 나타냅니다.
FIND(">", P2):
이 부분은 ">" 문자가 처음 나타나는 위치를 찾습니다. ">" 문자 이후의 문자를 추출하기 위해 ">"의 위치가 필요합니다.
LEN(P2) - FIND(">", P2):
">" 문자 이후의 문자열의 길이를 계산합니다. LEN(P2)는 전체 텍스트 데이터의 길이를 나타내며, FIND(">", P2)에서 찾은 ">"의 위치를 빼면 ">" 이후 문자열의 길이가 됩니다.
RIGHT(P2, ...):
오른쪽에서부터 특정 길이의 문자열을 추출하는 함수입니다.
P2는 원본 텍스트 데이터를 나타내고, 앞에서 계산한 길이를 지정하여 ">" 이후의 문자열을 추출합니다.
이 함수를 사용하면 ">" 문자 이후의 모든 문자열을 추출할 수 있으며, 일반적으로 로그 데이터에서 특정 정보를 추출하는 데 사용됩니다.