B.2. Awk

Awk

awk´Â C ¹®¹ýÀ» ¿¬»ó½ÃÅ°´Â ¿ÏÀüÇÑ ÇüÅÂÀÇ ÅؽºÆ® ó¸® ¾ð¾îÀÔ´Ï´Ù. awk´Â ±¤¹üÀ§ÇÑ ¿¬»êÀÚµé°ú ¶Ù¾î³­ ¼º´ÉÀ» °¡Áö°í ÀÖÁö¸¸ ¿©±â¼­´Â ½© ½ºÅ©¸³Æ®¿¡¼­ À¯¿ëÇÏ°Ô ¾²ÀÌ´Â ¸î °¡Áö¸¸ »ìÆì º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.

awk´Â ÀÔ·ÂµÈ °¢ ÁÙÀ» Çʵå·Î ³ª´¯´Ï´Ù. µðÆúÆ®·Î, Çʵå´Â °ø¹é¹®ÀÚ·Î ºÐ¸®µÈ ¿¬¼ÓµÈ ¹®ÀÚµé·Î ÀÌ·ç¾î Áý´Ï´Ù¸¸ ÀÌ ±¸ºÐÀÚ¸¦ ¹Ù²Ü¼öµµ ÀÖ½À´Ï´Ù. awk´Â ÀÌ·¸°Ô ÆÄ½ÌµÈ Çʵ带 ±âÁØÀ¸·Î µ¿ÀÛÇÏ°Ô µË´Ï´Ù. ÀÌ·± ÀÛ¾÷µé·Î ÀÎÇØ awk°¡ ±¸Á¶È­µÈ ÅؽºÆ® ÆÄÀÏ, ƯÈ÷ ¿­°ú ÇàÀ¸·Î ³ª´©¾îÁø ÀÏ°üµÈ µ¥ÀÌŸ ¹­À½(chunk)À¸·Î µÈ Å×À̺í 󸮿¡ ÀÌ»óÀûÀÎ µµ±¸°¡ µÇ´Â °ÍÀÔ´Ï´Ù.

½© ½ºÅ©¸³Æ®¾È¿¡¼­´Â awk Äڵ带 °­ÇÑ Äõ¿ìÆ®(strong quote, ÀÛÀº µû¿ÈÇ¥)¿Í Áß°ýÈ£·Î ¹­¾îÁÝ´Ï´Ù.

awk '{print $3}'
# ¼¼¹ø° Çʵ带 Ç¥ÁØÃâ·ÂÀ¸·Î Ãâ·Â.

awk '{print $1 $5 $6}'
# ù¹ø°, ´Ù¼¸¹ø°, ¿©¼¸¹ø° Çʵ带 Ãâ·Â.

½ÇÁ¦·Î awk print ¸í·É¾îÀÇ »ç¿ë¹ýÀ» »ìÆì ºÃ´Âµ¥, ÀÌÁ¦ º¯¼ö¿¡ ´ëÇÑ Æ¯Â¡¸¸ ¾Ë¾Æº¸°í ¸¶Ä¡°Ú½À´Ï´Ù. awk´Â º¯¼ö¸¦ ½© ½ºÅ©¸³Æ®¿Í ºñ½ÁÇÏ°Ô ´Ù·ç´Âµ¥ ½© ½ºÅ©¸³Æ®º¸´Ù´Â ¾à°£ ´õ À¶Å뼺ÀÌ ÀÖ½À´Ï´Ù.

{ total += ${column_number} }
column_numberÀÇ °ªÀ» "total"¿¡ °è¼Ó ´õÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î, "total"À» Ãâ·ÂÇÏ·Á¸é END¸¦ ½á¼­ Àüü ó¸® °úÁ¤À» ³¡³»¾ß ÇÕ´Ï´Ù.
END { print total }

END¿Í ¦À» ÀÌ·ç´Â BEGINÀº awk°¡ ÀÔ·ÂÀ» ó¸®Çϱâ Àü¿¡, ½ÇÇàÇÒ ÄÚµå ºí·° ¾Õ¿¡ ½áÁà¾ß ÇÕ´Ï´Ù.

awk°¡ ½© ½ºÅ©¸³Æ®¿¡¼­ ¾²ÀÌ´Â ¿¹Á¦´Â ´ÙÀ½À» Âü°íÇϼ¼¿ä.

  1. ¿¹ 11-8

  2. ¿¹ 16-5

  3. ¿¹ 12-24

  4. ¿¹ 34-3

  5. ¿¹ 9-18

  6. ¿¹ 11-12

  7. ¿¹ 28-1

  8. ¿¹ 28-2

  9. ¿¹ 10-3

  10. ¿¹ 12-33

  11. ¿¹ 9-21

  12. ¿¹ 12-3

ÀÚ, ¿©±â±îÁö°¡ ¿ì¸®°¡ ´Ù·ê awkÀÇ ¸ðµç °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ¹è¿ï °ÍÀÌ ´õ ¸¹À¸´Ï±î ¼­Áö»çÇ׿¡¼­ Àû´çÇÑ ·¹ÆÛ·±½º¸¦ Âü°íÇϼ¼¿ä.