Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ
  bash¿¡¼­ ¼øÂ÷Àû ¼ýÀÚ¸¦ »ç¿ëÇÏ´Â ½¬¿î ¹æ¹ý ÀÛ¼ºÀÏ : 2012/05/29 18:22
 
  • ±Û¾´ÀÌ : ÁÁÀºÁøÈ£ ( http://coffeenix.net/ )
  • Á¶È¸¼ö : 13194
     
    Á¦  ¸ñ : bash¿¡¼­ ¼øÂ÷Àû ¼ýÀÚ¸¦ »ç¿ëÇÏ´Â ½¬¿î ¹æ¹ý
    ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ )
    ÀÛ¼ºÀÏ : 2012.5.14(¿ù)



    1. seq ¸í·É

    GNUÀÇ coreutilsÆÐÅ°Áö¿¡´Â seq¸í·É(¸®´ª½º¿¡ ±âº» ¼³Ä¡, FreeBSD´Â /usr/ports/sysutils/coreutils Æ÷Æ®¸¦ ¼³Ä¡Çϸé gseq¸í·ÉÀ¸·Î ¼³Ä¡µÊ)ÀÌ ÀÖ´Ù. seq´Â ¼ýÀÚ¸¦ ¼øÂ÷ÀûÀ¸·Î Ãâ·ÂÇØÁÖ´Â ¸í·ÉÀÌ´Ù.
    ¿¹¸¦ µé¾î 1ºÎÅÍ 5±îÁö, ¶Ç´Â 1ºÎÅÍ 10±îÁö 2¾¿ Áõ°¡ÇÏ¿© Ãâ·ÂÇÏ°í ½Í´Ù¸é seq»ç¿ëÇÏ¸é µÈ´Ù.

     
    $ seq 1 5
    1
    2
    3
    4
    5
    $ seq 1 2 10
    1
    3
    5
    7
    9
     


    bash ½©½ºÅ©¸³Æ®ÀÇ for¹®¿¡¼­ seq¸í·ÉÀ» »ç¿ëÇÑ ¿¹ÀÌ´Ù. 1ºÎÅÍ 31±îÁö ¼øÂ÷ÀûÀ¸·Î Ãâ·ÂµÈ´Ù.

     
    #!/bin/bash

    for i in `seq 1 31`
    do
        echo $i
    done
     


    2. bash¿¡¼­ ¼øÂ÷Àû ¼ýÀÚ(sequential numbers)

    bash 3.0ÀÌ»ó ºÎÅÍ´Â loop¿¡ ¼øÂ÷Àû ¼ýÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾Æ·¡´Â seq¸¦ ½èÀ» ¶§¿Í °°Àº °á°ú°¡ ³ª¿Â´Ù.

     
    #!/bin/bash

    for i in {1..5}
    do
        echo $i
    done
     


    [ °á°ú ]
     
    1
    2
    3
    4
    5
     


    bash 4.0ÀÌ»ó ºÎÅÍ´Â Áõ°¡Ä¡(increment)¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

     
    $ echo {1..10}
    1 2 3 4 5 6 7 8 9 10
    $ echo {1..10..2}
    1 3 5 7 9
     


    3. seq¸í·É°ú bash ¼øÂ÷Àû Ç¥ÇöÀÇ °¢°¢ÀÇ ÀåÁ¡

    seq ¸í·ÉÀ» »ç¿ëÇÒ ¶§ ÀåÁ¡

    1) ½Ç¼öÇüÀ¸·Î Áõ°¡ÇÒ ¼ö ÀÖ´Ù.

     
    $ seq 1 .1 10
    1.0
    1.1
    1.2
    1.3
    1.4
    1.5
    1.6
    ... »ý·« ...
     


    2) ±¸ºÐ¹®ÀÚ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ±âº»Àº ÁٹٲÞ

     
    $ seq -s " + " 1 10
    1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
     


    bash¿¡¼­ ¼øÂ÷Àû ¼ýÀÚ¸¦ ¾µ ¶§ ÀåÁ¡

    1) {01..10} ó·³ ÁöÁ¤Çϸé 01 02 03 ó·³ ¾Õ¿¡ 0À» ºÙ¿©ÁØ´Ù. 0001ó·³ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù. (bash 4.0 ºÎÅÍ)

     
    $ echo {01..10}
    01 02 03 04 05 06 07 08 09 10
    $ echo {0001..10}
    0001 0002 0003 0004 0005 0006 0007 0008 0009 0010
     


    2) ¹®ÀÚµµ ¼øÂ÷ÀûÀ¸·Î Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. {a..z} ³ª {A..Z} ó·³

     
    $ echo {a..z}
    a b c d e f g h i j k l m n o p q r s t u v w x y z
    $ echo {a..z..2}
    a c e g i k m o q s u w y
     


    Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=1737