5.3 ¹®¼­ Á¶ÀÛ(text processing) °ü·Ã ¸í·É

  À̹ø ÀåÀº UNIX ½Ã½ºÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â ¹®¼­ Á¶ÀÛ°ú °ü·ÃµÈ À¯Æ¿¸®Æ¼¿¡ ´ëÇÑ °ÍÀÌ´Ù. ¿©±â¼­ ¼³¸íÇÏ´Â À¯Æ¿¸®Æ¼µéÀº UNIX ½Ã½ºÅÛÀÌ °³¹ßÀÚ¿ë ½Ã½ºÅÛÀ¸·Î¼­ÀÇ Áø¸é¸ñÀ» º¸¿©ÁÖ°í ÀÖÀ¸¸ç, À̸¦ ÅëÇØ ¸¹Àº ÀÛ¾÷µéÀ» ÀÚµ¿È­ÇÏ°í Æí¸®ÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.

 

 

5.3.1 awk

  ÇÁ·Î±×·¥À» ¸¸µç A .V.Aho, P.J.Weinberger, B.W.KernighanÀÇ À̸§¿¡¼­ À¯·¡ÇÑ´Ù. awk ´Â ±¤¹üÀ§ÇÏ°í ´Ù¾çÇÑ °è»ê°ú ƯÈ÷ µ¥ÀÌÅÍ Á¶ÀÛ¿¡ ¸Å¿ì À¯¿ëÇÑ "ÇÁ·Î±×·¥ ¾ð¾î"ÀÌ´Ù. (Awkµµ ÀÚ½ÅÀÇ ÇÁ·Î±×·¥ ¹®¹ýÀ» °¡Áö´Â ÇϳªÀÇ ÇÁ·Î±×·¥ ¾ð¾îÀÌ´Ù.)

  awk ÇÁ·Î±×·¥Àº ÀÔ·Â µ¥ÀÌÅÍ¿¡¼­ "¾î¶² °Í"À» ã°í, ã¾ÒÀ» ¶§ "¾î¶² ÀÏ"À» ÇÒ °ÍÀÎÁö¸¦ ±â·ÏÇÑ ÀÏ·ÃÀÇ ÆÐÅÏ(pattern¾î¶² °Í)°ú ÀÛ¿ë(action : ¾î¶² ÀÏ)À¸·Î ±¸¼ºµÈ´Ù. ÆÐÅÏÀº(pattern) ¹®ÀÚ, ¼ýÀÚ, Çʵå, º¯¼ö, ¹è¿­¿¡ ´ëÇÑ ºñ±³ ¿¬»êÀÚ¿Í Á¤±Ô Ç¥Çö½ÄÀÇ Á¶ÇÕÀ¸·Î ±¸¼ºµÇ¾î ƯÁ¤ÇÑ ÁÙÀ» ¼±ÅÃÇÑ´Ù. ÀÛ¿ë(action)Àº ¼±ÅÃµÈ ÁÙ¿¡ ÀÏ·ÃÀÇ Á¶ÀÛ(processing)À» ÇÑ´Ù. ÀÛ¿ë ¾ð¾î(action language)´Â C-¾ð¾î(C-language)¸¦ ¸¹ÀÌ ´à¾Ò´Ù.

  awk´Â ÀÔ·Â ÆÄÀÏÀ» Á¶»çÇØ ÀÚµ¿ÀûÀ¸·Î °¢ ÀÔ·Â ÁÙÀ» Çʵå·Î ºÐ¸®ÇÑ´Ù. ÀÔ·Â, ÇÊµå ºÐ¸®, ¸Þ¸ð¸® ³»¿ë°ü¸®, ÃʱâÈ­ µî ¸¹Àº ÀÏÀÌ ÀÚµ¿È­(automatic) µÇ¾î Àֱ⠶§¹®¿¡ awk ÇÁ·Î±×·¥ÀÇ Å©±â´Â º¸Åë ±âÁ¸ÀÇ ¾ð¾î·Î ÀÛ¼ºÇÑ °Íº¸´Ù ÈξÀ ÀÛ´Ù.

 

 

 

5.3.2 cut

  °¢ ÁÙ¿¡¼­ ÁöÁ¤ÇÑ ¿­À̳ª ¹üÀ§°¡ Á¤ÇØÁø ¿µ¿ª(Çʵå)À» ÃßÃâÇÑ´Ù. ¿µ¿ªÀÇ ±¸ºÐÀº ±¸ºÐÀÚ(-d option)¿¡ À§ÇØ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

  ¹®ÀÚ ´ÜÀ§, ÇÊµå ´ÜÀ§ ¶Ç´Â µÑÀÇ Á¶ÇÕÀ¸·Î µ¿ÀÛÇÒ ¼ö ÀÖ´Ù.

 

 

¡¡

5.3.3 diff

  µÎ ÆÄÀÏÀÇ °°Àº ÁÙÀ» ºñ±³ÇÏ¿© Â÷ÀÌÁ¡À» Ãâ·ÂÇÑ´Ù. ºñ±³½Ã file1À» ±âÁØÀ¸·Î ºñ±³ÇϹǷΠºñ±³ÇÒ µÎ ÆÄÀÏÀÇ ¼ø¼­°¡ Áß¿äÇÏ´Ù.

 

 

 

5.3.4 ed

  ed´Â Ç¥ÁØ ¹®¼­ ÆíÁý±âÀÌ´Ù. ¿ì¸®°¡ UNIX ½Ã½ºÅÛÀ» »ç¿ëÇϸ鼭 ÀÚÁÖ »ç¿ëÇÏ´Â vi ¹®¼­ ÆíÁý±â´Â ÆíÁý ³»¿ëÀÌ È­¸é¿¡¼­ ÀÌ·ç¾î Áö´Â »ç¿ëÀÚ¿Í ÆíÁý±âÀÌ´Ù. ¿©±â¿¡ ºñÇØ ed´Â ÆíÁý°úÁ¤ÀÌ È­¸é¿¡ Ç¥½ÃµÇÁö ¾Ê´Â´Ù. ±×·¯³ª ÆíÁýÇÒ °úÁ¤À» ÆÄÀÏ·Î ¸¸µé°í ÀÌ ÆÄÀÏÀ» »ç¿ëÇÏ¿© Çѹø¿¡ ¹®¼­¸¦ ÆíÁýÇÒ ¼ö ÀÖ¾î µ¿ÀÏÇÑ ÀÛ¾÷À» ¿©·¯ ¹®¼­¿¡ Àû¿ëÇϰųª ¸¹Àº ¹®¼­¸¦ ÆíÁýÇÒ ¶§¿¡ ¾ÆÁÖ À¯¿ëÇÑ À¯Æ¿¸®Æ¼ÀÌ´Ù.

 

 

  ed¿¡¼­ »ç¿ëµÇ´Â ÆíÁý ¸í·ÉÀº vi ÆíÁý±â¿¡¼­ »ç¿ëµÇ´Â °Í°ú µ¿ÀÏÇÏ´Ù. (»ç½ÇÀº vi ÆíÁý±â°¡ ed°¡ »ç¿ëÇÏ´Â ¸í·ÉÀ» °¡Á®´Ù »ç¿ëÇÏ´Â °ÍÀÌ´Ù). ¾îµå·¹½º(¹®¼­¶óÀιøÈ£)´Â °ýÈ£(())¾È¿¡ Ç¥½ÃÇϸç ÇöÀç ¾îµå·¹½º´Â DOT(.)À¸·Î Ç¥ÇöÇÑ´Ù. °ýÈ£¸¦ »ç¿ëÇÏ´Â °Í ¿Ü¿¡´Â µ¿ÀÏÇÏ´Ù.

 

 

(Âü°í)

  UNIX ½Ã½ºÅÛÀº password¸¦ ¸¸µé ¶§ »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ password ¹®ÀÚ¸¦ ±âÁØÀ¸·Î DES¶ó´Â encryption ¾Ë°í¸®ÁòÀ» 12¹ø ½ÇÇàÇÏ¿© password ºÎºÐÀ» ¸¸µç´Ù. ±×·±µ¥ µ¿ÀÏÇÑ ¹®ÀÚ¸¦ »ç¿ëÇÏ¸é µ¿ÀÏÇÑ password°¡ ¸¸µé¾î Á®¾ß Çϳª, ¸Å¹ø ¸¸µé ¶§ ¸¶´Ù ´Ù¸£°Ô »ý¼ºµÈ´Ù.

  À̰ÍÀº password¸¦ ¸¸µé ¶§ UNIX ½Ã½ºÅÛ¿¡¼­ Á¦°øÇÏ´Â ½Ãµå(seed) ¹®ÀÚ¿Í »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ¹®ÀÚ¸¦ Á¶ÇÕÇÑ ¹®ÀÚ¸¦ ±âÁØÀ¸·Î password¸¦ ¸¸µé±â ¶§¹®ÀÌ´Ù. UNIX ½Ã½ºÅÛÀÌ ¸¸µå´Â ½Ãµå ¹®ÀÚ´Â 2048(-)°³ÀÇ 2 byte ¹®ÀÚ(½Ãµå ¹®ÀÚ)·Î ½Ã°£¿¡ µû¶ó ´Ù¸£°Ô ¸¸µé¾î Áø´Ù. password¸¦ ¸¸µé ¶§ ¸¶´Ù ÀÌ ½Ãµå ¹®ÀÚ°¡ ´Ù¸£±â ¶§¹®¿¡ °á°ú°¡ ´Ù¸£°Ô ³ªÅ¸³ª´Â °ÍÀÌ´Ù. Password ºÎºÐ¿¡¼­ óÀ½ÀÇ 2 Byte(¹®ÀÚ)°¡ ½Ãµå ¹®ÀÚ¿¡ ÇØ´çÇÑ´Ù.

 

5.3.5 grep

  ÀÔ·Â ÆÄÀÏÀ̳ª ¹®Àå¿¡¼­ ÁöÁ¤ÇÑ ÆÐÅÏÀ» ÃßÃâÇÏ´Â ÇÁ·Î±×·¥À¸·Î grep( G lobal Regular E xpression P rint)ÀÌ ÀÖ´Ù. fgrep, egrepµµ grep¸í·É°ú °°Àº ºÎ·ùÀÇ À¯Æ¿¸®Æ¼·Î ¸ñÀû¿¡ µû¶ó ƯÁ¤ ¸í·ÉÀ» ¼±ÅÃÇÏ¿© »ç¿ëÇÑ´Ù.

  grep, frep, egrepÀÇ Æ¯Â¡Àº ´ÙÀ½°ú °°´Ù.

 

 

 

<< END >>