






|
0
Total 37 articles, 2 pages/ current page is 1
|
|
|
|
AWKÀÇ ¼Ò°³
AWK´Â ÆÐÅÏ ½ºÄ³´×¾ð¾î·Î¼ 1977³â¿¡ Alfred
Aho, Peter Weinberger, Brain Kerninghan¿¡
ÀÇÇØ ¸¸µé¾îÁø languageÀÌ´Ù.
ÆÄÀÏ ¼öÁ¤ÀÌ ¿ëÀÌÇÏ¸ç µ¥ÀÌÅͺ£À̽º¸¦ °Ë»öÇϰí
º¯ÇüÇϴµ¥µµ À¯¿ëÇÏ´Ù.
µ¥ÀÌÅÍ ÇÁ·Î¼¼½Ì, ¸®Æ÷Æ® ÀÛ¼º, °£´ÜÇÑ µ¥ÀÌÅÍ
º£À̽º ±¸Ãàµî¿¡ ¸¹ÀÌ ÀÀ¿ëÇÑ´Ù.
perl ¶ÇÇÑ awkÀÇ ±â¹ÝÀ» µÎ°í ¸¸µé¾îÁ³´Ù.
1) awk¶õ?
*awkÀÇ °³³ä.
- awk (Aho, Weinberger, Kernighan )´Â ÀÌ °ÍÀ» ÀÛ¼ºÇÑ »ç¶÷µéÀÇ ¸Ó¸®±ÛÀÚ
- awk´Â ÀÏÁ¾ÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î/ÆÐÅÏÀÇ °Ë»ö°ú Á¶ÀÛ.
- ÆÄÀÏÀÇ °¢ ¶óÀο¡¼ Çʵå(field)¸¦ ÀνÄÇÒ ¼ö ÀÖ´Â ÆÐÅÏ ¸ÅĪ ±â´É
* awkÀÇ ÀÀ¿ëºÐ¾ß.
- µ¥ÀÌÅÍ ÇÁ·Î¼¼½Ì, ¸®Æ÷Æ® ÀÛ¼º, °£´ÜÇÑ µ¥ÀÌÅÍ º£À̽º ±¸Ãà µî...
* awk¸¦ ÀÌ¿ëÇÑ ÀÛ¾÷.
- ÇÁ·Î±×·¥ÀÇ ÀÔ·Â ÆÄÀÏÀÌ Æ¯Á¤ÇÑ Çü½Ä¿¡ ¸Â°Ô ÀÌ·ç¾îÁ® ÀÖ´ÂÁö °Ë»ç.
- Ãâ·ÂÈÀÏÀ» ó¸®ÇÏ¿© ¸®Æ÷Æ®¸¦ ¸¸µé¾î ³¿.
- ´Ù¸¥ ÇÁ·Î±×·¥ÀÇ ÀÔ·Â Çü½Ä¿¡ ¸Â°Ô º¯È¯ÇÏ´Â ÀÛ¾÷¿¡ ÀÌ¿ë.
2) awk ÇÁ·Î±×·¥ÀÇ ±¸Á¶ ¹× ½ÇÇà.
* awkÀÇ ±¸Á¶.
- awk [option] [files]
- awk -f pattern-action-file ÆÄÀÏÀ̸§.
*awkÀÇ pattern. ÆÐ ÅÏ
³» ¿ë
BEGIN
ÀÔ·ÂÈÀÏÀ» ÀоîµéÀ̱â Àü¿¡ ¿·¿¡ Á¦½ÃµÇ´Â ¹®ÀÚ¸¦ ½ÇÇà.
END
awk°¡ ¸ðµç ÀÔ·ÂÀ» ó¸®ÇÑ ÈÄ, ¿·¿¡ Á¦½ÃµÇ´Â ¹®ÀåÀ» ½ÇÇà.
expression
½ÄÀ» Æò°¡ÇÑ ÈÄ ÀÌ ½ÄÀÌ Âü, Áï non-zeroÀ̰ųª non-nullÀÎ °æ¿ì ¹®ÀåÀ» ½ÇÇà.
/regular/
Á¤±Ô½Ä°ú ÀÏÄ¡ÇÏ´Â ¹®ÀÚ¿À» Æ÷ÇÔÇÑ ¶óÀο¡¼ ¹®ÀåÀ» ½ÇÇà.
compound-pattern
º¹ÇÕÆÐÅÏÀ̶ó´Â °ÍÀ¸·Î &&(and), ||(or), !(not) ±×¸®°í °ýÈ£¿¡ ÀÇÇØ ¿¬°á½ÃŲ °ÍÀÌ´Ù. expressionÀÇ °æ¿ì¿Í ¸¶Âù°¡Áö·Î º¹ÇÕ ÆÐÅϵµ ÂüÀÎ °æ¿ìÀÇ ¹®ÀåÀ» ½ÇÇà½ÃŲ´Ù.
pattern1, pattern2
ÀÌ·¯ÇÑ ÆÐÅÏÀ» ¹üÀ§ ÆÐÅÏÀ̶ó ÇÑ´Ù. ÇöÀç 󸮵ǰí ÀÖ´Â ¶óÀÎÀÌ pattern1°ú ÀÏÄ¡µÇ°í, ´ÙÀ½¿¡ µû¶ó¿À´Â ¶óÀÎ Áß ÀÓÀÇÀÇ ¶óÀÎÀÌ pattern2¿Í ÀÏÄ¡ÇÒ ¶§, ¹üÀ§ ÆÐÅÏÀº µÎ ¶óÀÎ »çÀÌÀÇ °¢ ¶óÀΰú ÀÏÄ¡ÇÑ´Ù.
* awkÀÇ ¿¬»êÀÚ. ¿¬ »ê ÀÚ
³» ¿ë
= += -= *= /= %=
¹èÁ¤(assignment)¿¬»êÀÚ
+ - * / % ++ --
»ê¼ú ¿¬»êÀÚ
|| && !
³í¸® ¿¬»êÀÚ(|| = OR, && = AND, ! = NOT)
> >= < <= == !=
ºñ±³ ¿¬»êÀÚ
v ~p
º¯¼ö V°¡ ÆÐÅÏ P¿¡ ºÎÇյǸé Âü
v !~p
º¯¼ö V°¡ ÆÐÅÏ P¿¡ ºÎÇÕµÇÁö ¾ÊÀ¸¸é Âü
¨ê awk¿¡¼ ¹Ì¸® Á¤ÀÇµÈ ¸î °¡Áö º¯¼ö ¹× ³»¿ë.
- awk -Fc [-f fileName] 'Program' {variable=value}* {fileName}*
. Fc ÀÔ·Â ÁÙÀÇ Ç׸ñ ±¸ºÐÀÚ¸¦ c·Î Á¤ÇÔ. (default: tabÀ̳ª °ø¹é).
. -f fileName : awk ÇÁ·Î±×·¥À» ÆÄÀÏ·Î ¸¸µé¾úÀ» ¶§ À̸¦ ÁöÁ¤ÇÔ.
. 'program' : awk ¸í·É¾î ¾È¿¡ awk ÇÁ·Î±×·¥À» Á÷Á¢ ±â·ÏÇÑ °æ¿ìÀÓ.
. {variable=value}* : ÇÁ·Î±×·¥À» À§ÇÑ º¯¼ö ġȯ.
. {fileName}* : ÀÔ·Â ÁÙÀ» Ç¥ÁØ ÀÔ·ÂÀÌ ¾Æ´Ñ ÁöÁ¤µÈ ÆÄÀÏ¿¡¼ ¹Þ¾ÆµéÀÓ.
- ÀÔ·Â ÁÙÀÇ Ç׸ñ Á¢±Ù.
. -$1 (ù ¹øÂ° Ç׸ñ), $2 (µÎ ¹øÂ° Ç׸ñ).....
. -$0 (ÁÙ Àüü)
. FS : ÀÔ·Â ÇÊµå ºÐ¸®¹®ÀÚ.
. ³»Àå º¯¼ö NF (ÇöÀçÀÇ ÀÔ·Â ÁÙÀÇ Ç׸ñ °³¼ö ), $NF (¸¶Áö¸· Ç׸ñ).
. ³»Àå º¯¼ö NR (ÇöÀçÀÇ ÀÔ·Â ÁÙÀÇ ÁÙ ¹øÈ£).
. ³»Àå º¯¼ö FILENAME (ÀÔ·Â ÆÄÀÏ À̸§).
. OFS : Ãâ·ÂµÇ´Â ÇʵåÀÇ ºÐ¸®¹®ÀÚ.
|
|
 |
 |
 |
 |
|
¹Ú¿ìÁø |
Perl ScriptÀÇ ±â¹ÝÀÌ µÇ´Â ¾ð¾îÀ̱⵵ ÇÏÁÒ.. ^^ |
2003/02/28 |
|
|
|
|
|
|