¸®´ª½º °ü·Ã °Á¶õ |
---|
Á¦¸ñ | Á¤±ÔÇ¥Çö½Ä °Á #2 1998/07/15 (15:47) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 51 |
Á¶È¸ | 355 |
º»¹® |
Á¤±ÔÇ¥Çö½Ä´©¸£°íÁ¤±ÔÇ¥Çö½Ä #2 < ´Ü¼ø Á¤±ÔÇ¥Çö½Ä°ú È®Àå Á¤±ÔÇ¥Çö½Ä > Á¤±ÔÇ¥Çö½ÄÀº ´Ü¼ø Á¤±ÔÇ¥Çö½Ä°ú È®Àå Á¤±ÔÇ¥Çö½ÄÀ¸·Î ³ª´ ¼ö Àִµ¥, À̴ ƯÁ¤ÇÑ ÇÁ·Î±×·¥(awk,egrep)¿¡¼´Â ¸î°¡ÁöÀÇ È®ÀåµÈ ±â´ÉÀ» Á¦°øÇϱ⠶§¹®ÀÌ´Ù.ÆÞÀÇ °æ¿ì¿¡´Â ´õ ´Ù¾çÇÑ Á¤±ÔÇ¥Çö½ÄÀ» Á¦°øÇÑ´Ù. ÀϹÝÀûÀ¸·Î ´Ü¼ø Á¤±ÔÇ¥Çö½ÄÀ¸·Î¸¸À¸·Îµµ ÃæºÐÇϸç, Ưº°È÷ awk, egrepÀ» »ç¿ëÇÒ ¶§¿¡¸¸ È®Àå Á¤±ÔÇ¥Çö¤¤½ÄÀ» ÀÌ¿ëÇÑ´Ù°í »ý°¢ÇÏ¸é µÈ´Ù. ÀϹÝÀûÀ¸·Î vi³ª grepÀ» ¸¹ÀÌ »ç¿ëÇϹǷÎ, È®Àå Á¤±ÔÇ¥Çö½ÄÀº °ÀÇÇÏÁö ¾Ê±â·ÎÁ¤±ÔÇ¥Çö½Ä #2 < ´Ü¼ø Á¤±ÔÇ¥Çö½Ä°ú È®Àå Á¤±ÔÇ¥Çö½Ä > Á¤±ÔÇ¥Çö½ÄÀº ´Ü¼ø Á¤±ÔÇ¥Çö½Ä°ú È®Àå Á¤±ÔÇ¥Çö½ÄÀ¸·Î ³ª´ ¼ö Àִµ¥, À̴ ƯÁ¤ÇÑ ÇÁ·Î±×·¥(awk,egrep)¿¡¼´Â ¸î°¡ÁöÀÇ È®ÀåµÈ ±â´ÉÀ» Á¦°øÇϱ⠶§¹®ÀÌ´Ù.ÆÞÀÇ °æ¿ì¿¡´Â ´õ ´Ù¾çÇÑ Á¤±ÔÇ¥Çö½ÄÀ» Á¦°øÇÑ´Ù. ÀϹÝÀûÀ¸·Î ´Ü¼ø Á¤±ÔÇ¥Çö½ÄÀ¸·Î¸¸À¸·Îµµ ÃæºÐÇϸç, Ưº°È÷ awk, egrepÀ» »ç¿ëÇÒ ¶§¿¡¸¸ È®Àå Á¤±ÔÇ¥Çö½ÄÀ» ÀÌ¿ëÇÑ´Ù°í »ý°¢ÇÏ¸é µÈ´Ù. ÀϹÝÀûÀ¸·Î vi³ª grepÀ» ¸¹ÀÌ »ç¿ëÇϹǷÎ, È®Àå Á¤±ÔÇ¥Çö½ÄÀº °ÀÇÇÏÁö ¾Ê±â·Î ÇÏ°Ú´Ù. (swindler: ³» ¸¾ÀÌ´Ù.) < ġȯ ¸ðµå¿¡¼ ÀÌ¿ëµÇ´Â Á¤±ÔÇ¥Çö½Ä > Áö±Ý±îÁö »ìÆ캻 °ÍÀº ¸ðµÎ ÆÄÀÏ¿¡¼ ƯÁ¤ÇÑ ¹®ÀÚ¿À» ã¾Æ³¾ ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Â Á¤±ÔÇ¥Çö½ÄµéÀ̾ú´Ù. ¿©±â¼ ºÎ°¡ÀûÀ¸·Î ed, ex, sedµîÀÌ Áö¿øÇÏ´Â ¹®ÀÚ¿ ġȯ½Ã¿¡ »ç¿ëÇÒ ¼ö ÀÕ´Â ¸î °¡Áö Á¤±ÔÇ¥Çö½Ä ¹®¹ý¿¡ ´ëÇؼ »ìÆ캸ÀÚ. (vi¿¡µðÅÍ¿¡¼ Esc¸¦ ´©¸£°í :Å°¸¦ ´©¸£¸é ex¸ðµå·Î ÁøÀÔÇÏ°Ô µÈ´Ù.) ÀÌÁ¦ºÎÅÍ´Â °ÅÀÇ vi¿¡ ¸ÂÃß¾î¼ ¼³¸íÇØ ³ª°¡°Ú´Ù. ¸ÕÀú, °£´ÜÇÏ°Ô ÆÄÀÏ ¾ÈÀÇ clockÀ» ¸ðµÎ clickÀ¸·Î ¹Ù²Ù´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù. :%s/clock/click/g (vi¿¡¼ Esc¸¦ ´©¸£°í : ´©¸¥ ´ÙÀ½¿¡ %sºÎÅÍ ÀÔ·ÂÇÏ¸é µÈ´Ù.) %´Â ÆÄÀÏ Àüü¸¦ ÀǹÌÇϴ Ư¼ö ¹®ÀÚÀ̸ç, ¸¶Áö¸·ÀÇ /gÀÇ Àǹ̴ °°Àº ¶óÀο¡ ´ëÇؼ, clockÀÌ ¿©·¯°³ ÀÖÀ» ¶§¿¡µµ ÀÛµ¿Çϵµ·Ï Çϱâ À§ÇÑ °ÍÀÌ´Ù. ġȯ ÀÛ¾÷À» ÇÒ ¶§ ġȯ ¹üÀ§¸¦ Á¤ÇØÁÖ¾î¾ß ÇÑ´Ù. ¸¸¾à 3¹ø°ºÎÅÍ 30¹ø° ÁÙ±îÁö µ¿ÀÏÇÑ ÀÛ¾÷À» ÇÒ·Á¸é :3,30s/clock/click/g¸¦ ÇØ¾ß ÇÑ´Ù. 10¹ø° ÁÙºÎÅÍ ¸¶Áö¸·±îÁö ÇÒ·Á¸é, :10,$s/clock/click/g¸¦ ÇØ¾ß ÇÑ´Ù. 1. \n (\1, \2. \3...) \¼ýÀÚ´Â \·Î µÑ·¯½ÎÀÎ Á¤±ÔÇ¥Çö½Ä ÀϺκÐÀ» ´ëÄ¡ÇÏ¿© Æ÷ÇöÇÑ´Ù. ´ÙÀ½ ¿¹¸¦ º¸ÀÚ. :%s\(bar\)\(foo\)/\2\1/g ÀÌ¿Í °°ÀÌ ½ÇÇàÇϸé barfoo·Î µÇ¾î ÀÖ´Â °Í ÀüºÎ¸¦ foobar·Î ¹Ù²Ù¾îÁØ´Ù. \2´Â foo¸¦ ¶æÇϸç, \1Àº bar¸¦ ¶æÇÑ´Ù. 2. & ´ëÄ¡ÇÒ Á¤±ÔÇ¥Çö½Ä ÀüºÎ¸¦ ÀǹÌÇÑ´Ù. ´ÙÀ½ ¿¹¸¦ º¸ÀÚ. :%s/nux/li&/g ÀÌ´Â nux¸¦ linux·Î ¹Ù²Ù¾î ÁØ´Ù. ¿©±â¼ &´Â nux¸¦ ÀǹÌÇÑ´Ù. ġȯ ÀÛ¾÷À» ÇÒ ¶§ ġȯ ¹üÀ§¸¦ Á¤ÇØÁÖ¾î¾ß ÇÑ´Ù. ¸¸¾à 3¹ø°ºÎÅÍ 30¹ø° ÁÙ±îÁö µ¿ÀÏÇÑ ÀÛ¾÷À» ÇÒ·Á¸é :3,30s/clock/click/g¸¦ ÇØ¾ß ÇÑ´Ù. 10¹ø° ÁÙºÎÅÍ ¸¶Áö¸·±îÁö ÇÒ·Á¸é, :10,$s/clock/click/g¸¦ ÇØ¾ß ÇÑ´Ù. 1. \n (\1, \2. \3...) \¼ýÀÚ´Â \·Î µÑ·¯½ÎÀÎ Á¤±ÔÇ¥Çö½Ä ÀϺκÐÀ» ´ëÄ¡ÇÏ¿© Æ÷ÇöÇÑ´Ù. ´ÙÀ½ ¿¹¸¦ º¸ÀÚ. :%s\(bar\)\(foo\)/\2\1/g ÀÌ¿Í °°ÀÌ ½ÇÇàÇϸé barfoo·Î µÇ¾î ÀÖ´Â °Í ÀüºÎ¸¦ foobar·Î ¹Ù²Ù¾îÁØ´Ù. \2´Â foo¸¦ ¶æÇϸç, \1Àº bar¸¦ ¶æÇÑ´Ù. 2. & ´ëÄ¡ÇÒ Á¤±ÔÇ¥Çö½Ä ÀüºÎ¸¦ ÀǹÌÇÑ´Ù. ´ÙÀ½ ¿¹¸¦ º¸ÀÚ. :%s/nux/li&/g ÀÌ´Â nux¸¦ linux·Î ¹Ù²Ù¾î ÁØ´Ù. ¿©±â¼ &´Â nux¸¦ ÀǹÌÇÑ´Ù. 3. ~ ÀÌ´Â &¿Í ¹Ý´ëÀÇ ¿ªÇÒÀ» ÇÑ´Ù. :%s/windog/Linux/g ¶ó°í Çϸé windog°¡ ÀüºÎ Linux·Î ¹Ù²î°Ô µÈ´Ù. ±× ´ÙÀ½¿¡ :%s/WINdog/~/g ¶ó°í Çϸé, WINdogµµ Linux·Î ¹Ù²î°Ô µÈ´Ù. ¿©±â¼ ~´Â Linux¸¦ ÀǹÌÇÏ°Ô µÈ´Ù. 4. \u, \U, \l , \L \u´Â ´ëÄ¡ÇÒ Á¤±ÔÇ¥Çö½ÄÀÇ Ã¹ ¹ø° ¹®ÀÚ¸¦ ´ë¹®ÀÚ·Î ¹Ù²Ù¾îÁÖ°í, \U´Â Á¤±ÔÇ¥Çö½Ä Àüü¸¦ ´ë¹®ÀÚ·Î ¹Ù²Û´Ù. \lÀº ´ëÄ¡ÇÒ Á¤±ÔÇ¥Çö½ÄÀÇ Ã¹ ¹ø° ¹®ÀÚ¸¦ ¼Ò¹®ÀÚ·Î ¹Ù²Ù¾îÁÖ°í, \LÀº ´ëÄ¡ÇÒ Á¤±ÔÇ¥Çö½Ä Àüü¸¦ ¼Ò¹®ÀÚ·Î ¹Ù²Û´Ù. :%s/LINUX/\l&/g : ÆÄÀÏ Àüü¿¡¼ LINUX¸¦ lINUX·Î ¹Ù²Û´Ù. :%s/linux/\u&/g : ÆÄÀÏ Àüü¿¡¼ linux¸¦ Linux·Î ¹Ù²Û´Ù. 5. ¸®´ª½º ÆÁ (µµ½º¿ë ÆÄÀÏÀ» À¯´Ð½º¿ëÀ¸·Î ¹Ù²Ù±â) ÀÌ´Â Àü¿¡µµ Çѹø ÇÑ ÀûÀÌ ÀÖ´Â ³»¿ëÀÌÁö¸¸, Çѹø ´õ Çϱâ·Î ÇÑ´Ù. °¡²û µµ½º¿¡¼ °¡Á®¿Â ´Ü¼ø ÅؽºÆ® ÈÀÏÀÌ À¯´Ð½º¿¡¼ º¸¸é ÁÙ ³¡¿¡ ^MÀÌ ºÙ¾îÀÖ´Â °æ¿ì°¡ ÀÖ´Ù. ÀÌ·± Çö»óÀº À¯´Ð½º¿Í µµ½ºÀÇ ÆÄÀÏ Ã³¸® Çü½ÄÀÌ ´Ù¸£±â ¶§¹®À̸ç, ¹Ý´ë·Î À¯´Ð½º¿ë ÆÄÀÏÀ» µµ½º¿ëÀ¸·Î °¡Á®°¡¸é, ÀüºÎ ÇÑ ÁÙ·Î ºÙ¾î ÀÖ´Â Çö»óÀÌ »ý±â°Ô ÇÑ´Ù. ÀÌ°ÍÀº ¸®´ª½ºÀÇ °æ¿ì ¸®ÅÏÅ°¸¦ ´·¶À»¶§, LineFeed¸¦ ¶æÇÏ´Â '0x0a'°¡ ÆÄÀÏ¿¡ ÀԷµǴµ¥ ºñÇØ µµ½º¿¡¼´Â ¸®ÅÏÅ°°¡ LineFeed¿Í Carriage ReturnÀÇ µÎ ¹ÙÀÌÆ®°¡ ÀԷµDZ⠶§¹®ÀÌ´Ù. µû¶ó¼, °°Àº ³»¿ëÀÇ ÆÄÀÏÀÌ¶óµµ ¸®ÅÏÅ°ÀÇ °¹¼ö¸¸Å µµ½º¿ë ÆÄÀÏÀÇ Å©±â°¡ ´õ Å©°Ô µÈ´Ù. µµ½ºÃø¿¡¼ À¯´Ð½º¿ë ÆÄÀÏÀ» Á¦´ë·Î º¸±â À§Çؼ´Â À©µµ 95¿¡ ÀÖ´Â ¸Þ¸ðÀå(³ëÆ®Æеå)¸¦ ÀÌ¿ëÇÏÁö ¸»°í ¿öµåÆеåµîÀ» ÀÌ¿ëÇÏ¸é µÈ´Ù. ¹Ý´ë·Î, À¯´Ð½º¿¡¼ µµ½º¿ë ÆÄÀÏ¿¡¼ ^MÀ» Á¦°ÅÇÒ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇØ¾ß ÇÑ´Ù. ¸ÕÀú vi editor¿¡¼´Â :%s/^M// (¿©±â¼ ^MÀº CtrlÅ°¸¦ ´©¸¥ »óÅ¿¡¼ v¿Í MÀ» ¼ø¼´ë·Î ´©¸£¸é µÈ´Ù.) PerlÀ» ÀÌ¿ëÇÏ´Â ¹æ¹ýÀº perl -pi -e 's/\r//' filename mcopy¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý mcopy -t a:/foobar.c . |