Text 파일 크기가 100[MB]를 넘을때의 파싱 ?
로그파일이 텍스트인데요, 사이즈가 100MB가 넘는 파일들도 있어요.
C/C++에서 램으로 파일내용 올려서, 문자열 검색/비교 등의 함수를 써서 간단하게 한번 짜봤는데,
파일내용 올릴때 시간이 좀 걸리고, 파싱속도도 생각보다 빠르지는 않네요.
이런 파일을 파싱하려면 프로그램을 어떤식으로 짜야 할까요 ?
사람 눈과 마우스로 수작업은 절대로 안되는 양입니다...
// 서명
Text 파일 크기가 100[MB]를 넘을때의 파싱 ?
로그파일이 텍스트인데요, 사이즈가 100MB가 넘는 파일들도 있어요.
C/C++에서 램으로 파일내용 올려서, 문자열 검색/비교 등의 함수를 써서 간단하게 한번 짜봤는데,
파일내용 올릴때 시간이 좀 걸리고, 파싱속도도 생각보다 빠르지는 않네요.
이런 파일을 파싱하려면 프로그램을 어떤식으로 짜야 할까요 ?
사람 눈과 마우스로 수작업은 절대로 안되는 양입니다...
·¥¿¡ ¸ÅÇÎÇÑ ÀÌÈÄ¿¡ Æ÷ÀÎÅÍ ¿¬»êÀº ºü¸¥ÆíÀε¥, ·¥¿¡ ¸ÅÇÎÇÒ¶§ ½Ã°£ÀÌ Á» °É¸®³×¿ä. ¿ä°Ç ¾î¿ ¼ö ¾ø´Â °Ç°¡¿ä ?^^
Àý´ë ´À¸®Áö ¾Ê½À´Ï´Ù
Binary °Ë»öµµ ºü¸¥µ¥ ÀÌ°Ô ´À¸± ÀÌÀ¯°¡¿ä¤»
¸Þ¸ð¸®¿¡ ¿Ã¸°µÚ¿¡´Â ´ç¿¬È÷ ºü¸£Áö¸¸¿ä.
¸Þ¸ð¸® Àâ¾Æ¼ Àд °Í º¸´Ù´Â ȹ±âÀûÀ¸·Î »¡¶ú´ø °É·Î ±â¾ïÇÕ´Ï´Ù. ¼øÂ÷ÀûÀ¸·Î ÂüÁ¶ÇÏ¸é °è¼Ó ÆäÀÌÁö ÆúÆ®³ª¸é¼ (ÀÌ ¶§¸¶´Ù ÀúÀåÀåÄ¡¿¡¼ ÀÐÀ¸´Ï±î¿ä. ) ´À¸± ¼ø ÀÖ°Ú½À´Ï´Ù¸¸..
ÃÖÃÊ Á¢±Ù½Ã°£À̳ª ·£´ý ¾×¼¼½º´Â ¿ùµîÇÒÅÙµ¥¿ä?
¿äÁò¿£ ÇØ º» ÀûÀÌ ¾ø¾î¼ 10³â ÀÌ»ó µÈ °æÇèÀ̱ä ÇÕ´Ï´Ù.
°¢°¢ 512°¡ Áö³°æ¿ì, ´Ù½Ã ´ÙÀ½ ºÎºÐÀÇ 512¸¦ ÀÐ¾î ¿À´Â½ÄÀ» Ãßõµå¸³´Ï´Ù.
100MB ÅؽºÆ® ÆÄÀÏÀÇ °æ¿ì, ¾Æ¹«¸® ¼º´ÉÀÌ ÁÁÀº ÄÄÇ»ÅͶóµµ, ¸Þ¸ðÀå¿¡¼ ¿¸é ·Îµù ½Ã°£ÀÌ °É¸®µíÀÌ
¸Þ¸ð¸®¿¡ ¿Ã·Á¼ °Ë»ö, ºñ±³´Â Á¶±Ý ºñÈ¿À²Àû ÀÔ´Ï´Ù.
¼Óµµ´Â ´ç¿¬È÷(?) »ý°¢º¸´Ù ºü¸£Áö ¾Ê¾Ò½À´Ï´Ù À¹.
ÆĽÌ(?)Çϴµ¥ ´õ ½Ã°£À» ¸¹ÀÌ ¸Ô´Â´Ù¸é, strstr()µîÀÇ C/C++ ÇÔ¼öº¸´Ù´Â
lex/flex µîÀ» »ç¿ëÇÏ¿© ƯÁ¤ ÆÐÅÏÀ» ã´Â ÇÔ¼ö¸¦ »ý¼ºÇØ ¾²´Â°ÍÀÌ Á» ´õ ºü¸¨´Ï´Ù.
ã´Â ÆÐÅÏÀÌ ¸¹À»¼ö·Ï Â÷ÀÌ°¡ ¸¹ÀÌ ³³´Ï´Ù. ÃÖÀûÀÇ ¿ÀÅ丶Ÿ¸¦ »ý¼ºÇÏ´Â ¹æ½ÄÀ̱⿡.
¿ÏÀü ºñÁ¤Çüµ¥ÀÌÅͶó¸é ´ÜÀÏ Ä÷³À¸·Î Çصµ µÉ°Å°í¿ä.
Ȥ½Ã db¸¦ ´Ù·ïº¸Áö ¾ÊÀ¸¼ÌÀ¸¸é ms office¿¡ ÀÖ´Â access·Î Çصµ ÀÏ¹Ý ÅؽºÆ® °Ë»öº¸´Ù´Â ÈξÀ ºü¸¦°Ì´Ï´Ù.
ÀÌÀ¯´Â Àß ¸ð¸£°Ú´Âµ¥, ¿äÁò¿¡ DB¸¦ ¾È¾²·Á´Â »ç¶÷, ȸ»ç µîÀÌ Á¡Á¡ ¸¹¾ÆÁö´õ±º¿ä.
ºñ½ÁÇÑ ÄÉÀ̽º ÀÔ´Ï´Ù.
¾î¶»°Ô º¸¸é.. c³ª node.js python µîÀ¸·Î ÆÄ½Ì ÇÁ·Î±×·¥À» ¸¸µé°í
¿øÇÏ´Â ÇüÅ·Πº¯ÇüÇÏ¿© ¿øº» ÆÄÀÏÀ» ³öµÎ°í ÆíÁýº»À» ¾²½Ã´Â°Ç ¾î¶³±î¿ä?