19.2. Globbing

Bash ÀÚü´Â Á¤±Ô Ç¥Çö½ÄÀ» ÀÌÇØÇÏÁö ¸ø ÇÕ´Ï´Ù. ½ºÅ©¸³Æ®¿¡¼­´Â sed ¿Í awk °°Àº ¸í·É¾î³ª À¯Æ¿¸®Æ¼°¡ Á¤±Ô Ç¥Çö½ÄÀ» Çؼ®ÇØ ÁÝ´Ï´Ù.

Bash´Â "globbing"À̶ó°í ÇÏ´Â ÆÄÀϸí È®ÀåÀ» ¼öÇàÇØ Áִµ¥ À̴ ǥÁØ Á¤±Ô Ç¥Çö½ÄÀ» ¾²Áö ¾Ê°í, ´ë½Å¿¡ ¿ÍÀϵå Ä«µå¸¦ ÀνÄÇÏ°í È®ÀåÇØ ÁÝ´Ï´Ù. globbingÀº Ç¥ÁØ ¿ÍÀϵå Ä«µå ¹®ÀÚÀÎ *, ?, ´ë°ýÈ£¼ÓÀÇ ¹®ÀÚ ¸ñ·Ï, ´Ù¸¥ Ư¼ö ¹®ÀÚµé(ÀÏÄ¡ÇÏÁö ¾Êµµ·Ï ºÎÁ¤ÇØ ÁÖ´Â ^ °°Àº ¹®ÀÚ)À» Çؼ®ÇØ ÁÝ´Ï´Ù. ÇÏÁö¸¸ globbing½Ã, ¿ÍÀϵå Ä«µå ¹®ÀÚ »ç¿ë¿¡´Â Áß¿äÇÑ ¸î°¡Áö Á¦ÇÑ »çÇ×ÀÌ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, *´Â .bashrcó·³ Á¡À¸·Î ½ÃÀÛÇÏ´Â ÆÄÀÏ°ú ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù. [1] ºñ½ÁÇÏ°Ô, ?µµ ÆÄÀϸí È®Àå¿¡¼­ ¾²À̸é Á¤±Ô Ç¥Çö½ÄÀÇ ÀϺκÐÀ¸·Î ¾²ÀÏ ¶§¿Í´Â ´Ù¸¥ Àǹ̸¦ °®½À´Ï´Ù.

bash$ ls -l
total 2
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 a.1
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 b.1
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 c.1
-rw-rw-r--    1 bozo  bozo       466 Aug  6 17:48 t2.sh
-rw-rw-r--    1 bozo  bozo       758 Jul 30 09:02 test1.txt

bash$ ls -l t?.sh
-rw-rw-r--    1 bozo  bozo       466 Aug  6 17:48 t2.sh

bash$ ls -l [ab]*
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 a.1
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 b.1

bash$ ls -l [a-c]*
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 a.1
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 b.1
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 c.1

bash$ ls -l [^ab]*
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 c.1
-rw-rw-r--    1 bozo  bozo       466 Aug  6 17:48 t2.sh
-rw-rw-r--    1 bozo  bozo       758 Jul 30 09:02 test1.txt

bash$ ls -l {b*,c*,*est*}
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 b.1
-rw-rw-r--    1 bozo  bozo         0 Aug  6 18:42 c.1
-rw-rw-r--    1 bozo  bozo       758 Jul 30 09:02 test1.txt


bash$ echo *
a.1 b.1 c.1 t2.sh test1.txt

bash$ echo t*
t2.sh test1.txt
	      

echo ¸í·É¾îµµ ÆÄÀÏÀ̸§¿¡ ´ëÇؼ­ ¿ÍÀϵå Ä«µå È®ÀåÀ» ÇØ ÁÝ´Ï´Ù.

¿¹ 10-4¸¦ Âü°íÇϼ¼¿ä.

ÁÖ¼®

[1]

ÆÄÀϸí È®ÀåÀº Á÷Á¢ÀûÀ¸·Î Á¡(dot)À» Ç¥½ÃÇØÁà¾ß µµÆ®ÆÄÀÏ(dotfile)°ú ÀÏÄ¡ÇÕ´Ï´Ù.
~/[.]bashrc    # ~/.bashrc ·Î È®ÀåµÇÁö ¾Ê½À´Ï´Ù.
~/?bashrc      # À̰͵µ ¾È µË´Ï´Ù.
               # globbing¿¡¼­´Â ¿ÍÀϵå Ä«µå¿Í ¸ÞŸ¹®ÀÚ°¡ Á¡À¸·Î È®ÀåµÇÁö ¾Ê½À´Ï´Ù.

~/.[b]ashrc    # ~./bashrc ·Î È®ÀåµË´Ï´Ù.
~/.ba?hrc      # ¿ª½Ã µË´Ï´Ù.
~/.bashr*      # µÇ°ÚÁÒ?

# "dotglob" ¿É¼ÇÀ» ¼³Á¤Çϸé ÀÌ ±â´ÉÀ» ²¨ ÁÝ´Ï´Ù.

# Thanks, S.C.