2. ã±â, ġȯ

vi¿¡¼­ ã±â ¸í·É°ú ġȯ ¸í·ÉÀº °ÅÀÇ ¿¹¼ú¿¡ °¡±õ½À´Ï´Ù. °ÅÀÇ ¸ðµç ¹®ÀÚ¿­ À» ã°í ´Ù¸¥ ¹®ÀÚ¿­·Î ´ëüÇÒ ¼ö ÀÖ´Â µí ÇÕ´Ï´Ù. ±× ¸¸Å­ ¸í·É¿¡ ±â´Éµµ ¸¹°í »ç¿ë Çϱ⵵ Á¶±ÝÀº º¹ÀâÇÕ´Ï´Ù. ã±â¿Í ġȯÀº ex ¸ðµå¿¡¼­ ÇàÇØÁý´Ï´Ù. ¿ì¼±Àº Á¤±Ô Ç¥ Çö½ÄÀ» ¾Ë¾ÆµÎ½Ã¸é ã°íÀÚ ÇÏ´Â ÆÐÅÏÀ» ½±°Ô ã´Âµ¥ ¸¹Àº µµ¿òÀÌ µË´Ï´Ù.

2.1. Á¤±ÔÇ¥Çö½Ä

Á¤±ÔÇ¥Çö½ÄÀº vimÀÇ °æ¿ì :help¶ó°í ÀÔ·ÂÇÏ¸é ³ª¿À´Â Á¤±ÔÇ¥Çö½Ä ±âÈ£°¡ ¼³ ¸íÀÌ Àß µÇ¾îÀÖ½À´Ï´Ù. Á¤±ÔÇ¥Çö½ÄÀº °¢ÀÚ °øºÎÇÏ½Ã±æ ¹Ù¶ø´Ï´Ù. ¿©±â¼­´Â ¸Å¿ì °£´Ü ÇÏ°Ô ±âÈ£ ¼³¸í°ú °£´ÜÇÑ ¿¹¸¸ µé°í ³Ñ¾î°¡°Ú½À´Ï´Ù. ÀÚ¼¼È÷ Çϸé À̰͸¸ °¡Áö°íµµ ÇÑÂüÀ» ¼³¸íÇÏ¿©¾ß Çϴϱî¿ä... ¾Æ·¡ÀÇ Ç¥¿¡ º¹ÀâÇÑ ±âÈ£µéÀÌ ¸¹ÀÌ ³ª¿ÍÀִµ¥¿ä. ¿ì¼± ., ^, \+, *, [], \< \>ÀÇ ±âÈ£´Â ¹Ýµå½Ã ¾Æ¼Å¾ß ÇÕ´Ï´Ù. Á¤¸» ±âº»ÀûÀÎ ±âÈ£µéÀÌ°í ¸î °³´Â shell»óÀ̳ª ´Ù¸¥ °÷¿¡¼­µµ »ç¿ëÇÏ½Ç ¼ö ÀÖ´Â °ÍµéÀÌ´Ï±î ¾Ë¾ÆµÎ½Ã¸é µµ¿òÀÌ µÇ½Ç °Ì´Ï´Ù. ÀÌ ±â È£µéÀ» °£·«È÷ ¼³¸íÇϸé .´Â ÇϳªÀÇ ¸ðµç ¹®ÀÚ¸¦ ³ªÅ¸³À´Ï´Ù. .¶ó°í Çϸé ÀÌ ±âÈ£¿¡ ¾î¶°ÇÑ ÇÑ ¹®ÀÚ°¡ ´ëÄ¡µÉ ¼ö ÀÖ´Â °ÍÀÌÁö¿ä. ^Àº ´ë°ýÈ£ ¾È°ú ¹Û¿¡¼­ Àǹ̰¡ ´Þ¶óÁö ´Â µ¥ ´ë°ýÈ£ ¾È¿¡¼­´Â notÀÇ Àǹ̸¦ °¡Áö°í, ¹Û¿¡¼­´Â À§¿¡¼­ ¸í·É¸ðµå¿¡¼­ ^±âÈ£ÀÇ ¿ëµµ¿Í ºñ½ÁÇÏ°Ô ÇàÀÇ Ã³À½À» ³ªÅ¸³À´Ï´Ù. \+´Â 1ȸ ÀÌ»ó ³ªÅ¸³­´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï ´Ù. *µµ ºñ½ÁÇѵ¥ À̰ÍÀº 0¹ø ÀÌ»ó Áï ³ªÅ¸³¯ ¼öµµ ÀÖ°í ±×·¸Áö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¸¶Áö¸·À¸·Î []Àº ³ªÅ¸³¯ ÇÑ ¹®ÀÚÀÇ ¹üÀ§¸¦ ÁöÁ¤ÇÒ ¶§ »ç¿ëµË´Ï´Ù. Áï [abc]´Â a ¶Ç´Â b ¶Ç´Â cÀÔ´Ï´Ù. [a-z]´Â a¿¡¼­ zÁß¿¡¼­ ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³»°ÚÁö¿ä. ±×·³ ÀÌ ±âÈ£µéÀ» °¡Áö°í ã°íÀÚ ÇÏ´Â ¹®ÀÚ¿­ÀÇ ÆÐÅÏÀ» ¸¸µé¾î º¾½Ã´Ù. The ³ª the¸¦ ±âÈ£·Î ³ªÅ¸³»¸é [Tt]he °¡ µË´Ï´Ù. ¸ÂÁÒ? []°¡ Á¤ÇØÁø ¹üÀ§¿¡¼­ ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³½´Ù°í ÇßÀ¸´Ï±î¿ä. ±×·³ ÇàÀÇ ¸Ç óÀ½¿¡ ³ªÅ¸³ª´Â The³ª the¸¦ ãÀ¸·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä? ^[Tt]he°¡ µÇ°ÚÁÒ. À̹ø¿£ th·Î ½ÃÀÛÇÏ´Â ¾Æ¹« ¹®ÀÚ¸¦ ¸¸µé¾î º¾½Ã´Ù. th·Î ½ÃÀÛÇϴϱî th¸¦ ¾Õ¿¡ ½áÁÖ°í µÚ¿¡ ¾Æ¹« ¹®ÀÚ³ª ³ª¿ÀµçÁö ¾È³ª¿ÀµçÁö »ó°üÀÌ ¾øÁÒ? th.* ÀÌ·¸°Ô °Ë»öÀ» Çϸé the, this, that µîµîÀÌ °Ë»öÀÌ µÇÁö¸¸ althoughµîµµ °Ë»öÀÌ µË´Ï´Ù. th·Î ½ÃÀÛÇÏ´Â ¹®ÀÚ¸¸ °Ë»öÀ» ÇÏ·Á¸é ´Ü¾îÀÇ ½ÃÀÛ°ú ³¡À» ¸í½ÃÇØÁÖ¾î ¾ß°ÚÁÒ. ±×·¡¼­ ÇÊ¿äÇÑ °ÍÀÌ \< \>ÀÔ´Ï´Ù. ÀÌ »çÀÌ¿¡ À§ÀÇ Ç¥Çö½ÄÀ» ³Ö¾î¼­ °Ë»öÀ» Çϸé the, this, thatµî°ú °°ÀÌ th·Î ½ÃÀÛÇÏ´Â ¹®ÀÚ¿­À» °Ë»öÇÏ°Ô µË´Ï´Ù. *´ë½Å¿¡ \+¸¦ ³ÖÀ¸¸é ¾î¶»°Ô ´Ù¸¦±î¿ä? th ÀÇ °æ¿ì *¶ó¸é ÇØ´çµÇ°ÚÁö¸¸ \+¶ó¸é ÇØ´çµÇÁö ¾Ê½À ´Ï´Ù. ÀÌ»óÀÌ °£´ÜÇÑ Á¤±Ô Ç¥Çö½Ä¿¡ ´ëÇÑ ±âÈ£À̰í ÀÌÁ¦ º»°ÝÀûÀ¸·Î °Ë»ö°ú ġȯÀ» ÇØ º¸µµ·Ï ÇÏÁÒ.
(ÀÌ ¾ÈÀº ¿ø·¡ ¹®ÀÚ¸¦ ³ªÅ¸³»´Â ½Ä)
., (\.) ¾Æ¹« ¹®ÀÚ³ª ÇÑ ¹®ÀÚ
^, (^) ÇàÀÇ Ã³À½¿¡ ½ÃÀÛ				
$, ($) ÇàÀÇ ³¡À» ÀǹÌ			
\<, (\<) ´Ü¾îÀÇ ½ÃÀÛ					
\>, (\>) ´Ü¾îÀÇ ³¡			
[a-z], (\[a-z]) ÁÖ¾îÁø ¹üÀ§ ³»¿¡¼­ÀÇ ÇÑ ¹®ÀÚ		
[^a-z], (\[^a-z]) ÁÖ¾îÁø ¹øÀ§ ¹Û¿¡¼­ÀÇ ÇÑ ¹®ÀÚ		
\e, (\e) Esc							
\t, (\t) Tab					
\r, (\r) CR							
\b, (\b) BS						
*, (\*) 0 ¹ø ȤÀº 1¹ø ÀÌ»ó ³ªÅ¸³²
\+, (\+) Àû¾îµµ ÇÑ ¹ø ÀÌ»ó ³ªÅ¸³²	
\l, (\l) ¶Ç´Â 			
POSIX character classes¶ó´Â °Íµµ Àִµ¥ À̰͵µ Á¤±ÔÇ¥Çö½Ä ³»¿¡¼­ ¾µ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ »õ·Î¿î ±âÈ£µéÀº ¸ðµÎ À§¿¡¼­ Á¦°¡ ¼³¸íÇÑ °Í¸¸À¸·Îµµ ¸¸µé ¼ö ÀÖ Áö¸¸ ½ÄÀ» ª°Ô Çϱâ À§Çؼ­ ¹Ì¸® ¸¸µé¾î ³õÀº °ÍÀ̶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. ¿¹¸¦ µé ¾î µÚ¿¡ È®Àå Á¤±ÔÇ¥Çö½Ä¿¡ \p¸¦ Á¤±ÔÇ¥Çö½ÄÀ¸·Î ÇÏ·Á¸é [0-9a-zA-Z \t][0-9a-zA-Z \t]* ¹¹ ÀÌ·± ½ÄÀ¸·Î Ç¥½ÃÇØ¾ß°ÚÁÒ(Ʋ¸± ¼öµµ ÀÖ½À´Ï´Ù). Á¤±ÔÇ¥Çö½Ä¿¡ ÀڽŠÀÖ´Â ºÐ Àº ¸ð¸£°ÚÁö¸¸ ´ëºÎºÐÀº ¸¹ÀÌ »ý°¢ÇÏ¿©¾ß Çϰí Àú ó·³ Ȥ½Ã »©¸ÔÀº ¹®ÀÚ°¡ »ý±æÁöµµ ¸ð¸£±â ¶§¹®¿¡ ÀÌ·± ½ÄÀ¸·Î ¶Ç ´Ù¸¥ ±âÈ£¸¦ ¸¸µé¾î Ç¥ÇöÇÏ´Â °ÍÀÌÁÒ.
[:alnum:]	¾ËÆÄºª, ¼ýÀÚ
[:alpha:]	¾ËÆÄºª
[:blank:]	°ø¹é¹®ÀÚ Åǹ®ÀÚ Æ÷ÇÔ
[:cntrl:]	control ¹®ÀÚ
[:digit:]	¼ýÀÚ
[:graph:]	°ø¹é¹®ÀÚ¸¦ Á¦¿ÜÇÑ
[:lower:]	¼Ò¹®ÀÚ
[:upper:]	´ë¹®ÀÚ
[:print:]	ÇÁ¸°Æ®°¡ °¡´ÉÇÑ ¹®ÀÚ °ø¹é Æ÷ÇÔ
[:punct:]	±¸µÎÁ¡¹®ÀÚ ) ( , . " ' : ; - µî
[:space:]	°ø¹é¹®ÀÚ
[:xdigit:]	16Áø¼ö ¼ýÀÚ

2.2. ã±â

´Ü¼øÈ÷ ÆÐÅϸ¸ ã´Â °Å¶ó¸é ¸í·É¸ðµå¿¡¼­ /pattern ¶Ç´Â ?pattern °ú n, NŰ ¸¦ ÀÌ¿ëÇØ¼­ ã´Â °ÍÀÌ Æí¸®ÇÕ´Ï´Ù. ex¸ðµå¿¡¼­ÀÇ ÆÐÅÏÀ» ã±â À§Çؼ­´Â :/pattern/ Çü½ÄÀ» »ç¿ëÇÕ´Ï´Ù. ex¸ðµå¿¡ ÀÌ Ã£±â ¸í·ÉÀÌ ÀÖÀ½À¸·Î ÇØ¼­ ´Ù¸¥ ex¸í·Éµé°ú Á¶ÇÕÀÌ °¡´ÉÅä·Ï ÇÏ´Â °Í °°½À´Ï´Ù. ex¸ðµå°¡ Çà´ÜÀ§·Î µ¿ÀÛÇÑ´Ù´Â °ÍÀº ¾Ë°í °è½Ã¸®¶ó »ý°¢ ÇÕ´Ï´Ù. :/pattern/Çü½ÄÀ¸·Î ÀÔ·ÂÀ» ÇÏ¸é ÆÐÅÏÀÌ ÀÖ´Â ÇàÀ¸·Î À̵¿À» ÇÏÁö¿ä. À̰ÍÀÌ ¾î¶»°Ô ¾²ÀÏ ¼ö ÀÖÀ»Áö »ý°¢ÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ^^ À§¿¡¼­Ã³·³ ã°Ô µÇ¸é :/pattern/ ãÀº °÷À¸·Î À̵¿¸¸ ÇÏ°Ô µË´Ï´Ù. ¿©±â¿¡ ¸î °¡Áö ¸í·É°ú ¿É¼ÇÀ» µ¡ºÙ¿©¼­ Á¶±Ý º¹ÀâÇÑ Ã£±â¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. °£´ÜÇÑ °ÍºÎÅÍ ¿¹¸¦ µéÁÒ. :=¸¦ ÀÔ·ÂÇØ º¾½Ã´Ù. ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ÇàÀÇ ¹øÈ£°¡ Ãâ·ÂÀÌ µË´Ï´Ù. :g/pattern/À» ÇØ º¾½Ã´Ù. ÆÐÅÏÀÌ ³ªÅ¸³­ ÁÙÀÇ ³»¿ëÀ» ¸ðµÎ Ç¥½ÃÇϸ鼭 ¸¶Áö¸·¿¡ ³ª Ÿ³­ ÇàÀ¸·Î À̵¿ÇÒ °ÍÀÔ´Ï´Ù. ´Ù½Ã :/pattern/= À̳ª :g/pattern/=À» ÀÔ·ÂÇØ º¾½Ã ´Ù. ¾Õ¿¡ °ÍÀº óÀ½ patternÀÌ ³ªÅ¸³­ Çà ¹øÈ£¸¸ Ç¥½Ã¸¦ ÇÕ´Ï´Ù. µÎ ¹øÂ° °ÍÀº patternÀÌ ³ªÅ¸³ª´Â Çà ¹øÈ£¸¦ ¸ðµÎ Ç¥½Ã¸¦ ÇÕ´Ï´Ù.

2.3. ġȯ

Á¦°¡ vi¸¦ ¾²¸é¼­ °¨µ¿(TT)À» ¹Þ´Â °ÍÀÌ ¹Ù·Î ÀÌ Ä¡È¯ ¸í·ÉÀÇ °­·ÂÇÔÀÔ´Ï´Ù. ÀϹÝÀûÀΠġȯ¹®ÀÇ Çü½ÄÀº ´Ù¸¥ ex¸í·Éµé°ú ¸¶Âù°¡Áö·Î [¹üÀ§] /old/new/ [¿É¼Ç] ÀÇ Çü½ÄÀ» »ç¿ëÇÕ´Ï´Ù. ¿©±â¼­ ÇѰ¡Áö º¸Ãæ ¼³¸íÀ» ÇÏ°í ³Ñ¾î°¡¾ß ÇÏ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. hold buffer ¶ó´Â °ÍÀε¥ °Ë»öÀ» Çϸ鼭 °Ë»öµÈ ¹®ÀÚ¿­À» º¸°üÇÏ´Â ÀÏÁ¾ÀÇ ±â¾ïÀå¼ÒÀÔ´Ï´Ù. »ç¿ë ¹ýÀº °Ë»öÇÒ ¹®ÀÚ¿­À» \( \)·Î µÑ·¯½Î¸é µË´Ï´Ù. ±×·³ ¾Õ¿¡¼­ ¼ø¼­´ë·Î \1 ~ \9±îÁö ÀÇ ¹öÆÛ¿¡ ãÀº ¹®ÀÚ¿­ÀÌ º¹»ç°¡ µÇÁö¿ä. ºñ½ÁÇÑ ±âÈ£·Î &°¡ Àִµ¥ À̴ ã¾Æ³½ ¹® ÀÚ¿­À» ³ªÅ¸³À´Ï´Ù. ¶Ç ÇѰ¡Áö ~±âÈ£Àε¥ À̰ÍÀº ¹Ù·Î Àü¿¡ ¼öÇàÇÑ °Ë»öÀ̳ª ġȯÀÇ Á¤±ÔÇ¥Çö½ÄÀ» ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¾î¼­ ¼³¸íÇØ º¸µµ·Ï ÇÏÁÒ. ¿ì¼± ¹®¼­°¡ Çϳª ÇÊ¿äÇϱº¿ä... ÀÌÀü¿¡ »ç¿ëÇÑ ¹®¼­¸¦ ´Ù½Ã »ç¿ëÇϵµ·Ï ÇÏÁÒ.
# /etc/bashrc

# System wide functions and aliases
# Environment stuff goes in /etc/profile

# For some unknown reason bash refuses to inherit
# PS1 in some circumstances that I can't figure out.
# Putting PS1 here ensures that it gets loaded every time.
PS1=[\u@\h \W]\\$ 

alias which=type -path
:%s/#/_&_/g¶ó°í Çϸé #°¡ ¸ðµÎ _#_¹Ù²î¾î ÀÖÀ» °ÍÀÔ´Ï´Ù. ã´Â ¹®ÀÚ¿­ÀÌ ±æ ¾îÁö´Â °æ¿ì¿¡ &¸¦ »ç¿ëÇÏ¸é °£´ÜÇϰÚÁö¿ä? À̹ø¿£ À§¿¡¼­ ¾ð±ÞÇÑ hold buffer¸¦ »ç ¿ëÇØ º¾½Ã´Ù. :%s/\(goes\) \(in\)/\2 \1/g ÀÌ·¸°Ô ÀÔ·ÂÇÏ¸é ¾î¶»°Ô ¹Ù²ð±î¿ä? goes inÀ» ã¾Æ¼­ °¢°¢ hold ¹öÆÛ 1, 2 ¿¡ ÀúÀåÀ» ÇØ µÓ´Ï´Ù. µÚ¿¡¼­ ġȯÇÒ ¶§ ¹öÆÛ À̸§ ÀÌ ¼ø¼­°¡ ¹Ù²î¾î ÀÖÀ¸¹Ç·Î ±× ³»¿ëÀÎ in goes¸¦ Ãâ·ÂÇÏ°Ô µË´Ï´Ù.
# Environment stuff goes in /etc/profile ¸í·É Àü 
# Environment stuff in goes /etc/profile ¸í·É ÈÄ

2.4. Á¤¸® ¹× ¿¬½À¹®Á¦

¸î °¡Áö ¼³¸íÀ» ÇÏÁö ¾ÊÀº °ÍµéÀÌ ÀÖ½À´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼­Ã³·³ ¼³Á¤ ÆÄÀϵé Àº ¹®¼­ ³»¿¡ / (¿ª½½·¡½¬)±âÈ£µéÀÌ ¸¹ÀÌ À־ ÆÐÅÏÀ» ã´Âµ¥ ¾²´Â Çü½ÄÀÇ /°ú È¥ µ¿µÉ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð ¿ø·¡ÀÇ ¹®ÀÚ¸¦ ÀǹÌÇÒ ¶§´Â \/·Î ¸ðµÎ ´ëÄ¡ÇÏ¸é µÇÁö¸¸ ÀÌ·± °æ¿ì¿¡´Â Çê°¥¸®ÁÒ. /´ë½Å ±âÈ£³ª :À» »ç¿ëÇØ¼­ °¢°¢À» ±¸ºÐ Áþ½À´Ï´Ù. :%s:/etc/:/etc/local/:g¸¦ Çϸé /etc/¸¦ /etc/local/·Î ġȯÀ» ÇÏ°Ô µÇÁÒ. À§¿¡¼­ ¹è¿î °ÍµéÀÇ Á¶ÇÕÀ¸·Îµµ ¸¹Àº ÆÐÅÏÀ» ã°í ¼öÁ¤À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾îº¸µµ·Ï ÇÏÁö¿ä. ¿¬½À¹®Á¦·Î ´ÙÀ½ÀÌ ¾î¶² ÀÏÀ» ÇÒÁö »ý°¢ÇØ º¸½Ã°í Ç®À̸¦ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ¾Æ·¡ (1)°ú (2) ¹øÀº À§¿¡¼­ ¾ð±ÞÀ» ÇÏÁö ¾Ê¾ÒÁö¸¸ ÇØº¸½Ã¸é ¾î¶² Àǹ̸¦ °®´ÂÁö ¾Æ½Ç ¼ö ÀÖÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù.
  ¿¬½À¹®Á¦ 3. ´ÙÀ½ ġȯ¹®ÀÇ Àǹ̸¦ ¼³¸íÇϽÃÁÒ.... ^^ 
    
:%s/.*/\U&/g 
:%s/.*/\L&/g 
:%s/\(.*\) *$/\1/ 
:%s/^ \+\(.*\)/\1/ 
:%s/^ \+\|^\t\+\(.*\)/\1/ 
:%s/^M//g (¿©±â¼­ ^MÀº CTRL-VÈÄ¿¡ [ENTER]¸¦ ´©¸¥ °ª) ´ÙÀ½ 
¸í·ÉÀÇ Àǹ̸¦ ¼³¸íÇϼ¼¿ä. 
:n out.txt | g/pattern/, .w >> out.txt (out.txtÈ­ÀÏÀÌ Á¸ÀçÇØ¾ß 
ÇÕ´Ï´Ù.) Âü°í) :g/pattern/y A 
:g/pattern/d