glob

Autres langues

Langue: ja

Version: 2003-08-24 (openSuse - 09/10/07)

Autres sections - même nom

Section: 7 (Divers)

̾Á°

glob - ¥Ñ¥¹Ì¾¤ò glob ¤¹¤ë

ÀâÌÀ

ÀΡ¹ Unix V6 ¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¥Ñ¥¿¡¼¥ó¤òŸ³«¤¹¤ë /etc/glob ¤È¸À¤¦¥×¥í¥°¥é¥à¤¬¤¢¤Ã¤¿¡£¤½¤Î¸å¤¹¤°¤Ë¡¢ ¤³¤Îµ¡Ç½¤Ï¥·¥§¥ë¤ËÁȤ߹þ¤Þ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£

º£Æü¤Ç¤Ï¡¢¤³¤Îµ¡Ç½¤ò¥æ¡¼¥¶¡¼¥×¥í¥°¥é¥à¤«¤é¤â¼Â¹Ô¤Ç¤­¤ë¤è¤¦¡¢ glob(3) ¤È¤¤¤¦¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó¤â¸ºß¤·¤Æ¤¤¤ë¡£

glob ¤Îµ¬Â§¤ò°Ê²¼¤Ë½Ò¤Ù¤ë (POSIX.2 3.13)¡£

¥ï¥¤¥ë¥É¥«¡¼¥É¥Þ¥Ã¥Á

ʸ»úÎó¤Ë `?', `*', `[' ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢ ¤½¤ì¤Ï¥ï¥¤¥ë¥É¥«¡¼¥É¥Ñ¥¿¡¼¥ó¤È¤ß¤Ê¤µ¤ì¤ë¡£ ¡Öglob ¤¹¤ë¡×¤È¤¤¤¦¤Î¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¥Ñ¥¿¡¼¥ó¤òŸ³«¤·¤Æ¡¢ ¤½¤Î¥Ñ¥¿¡¼¥ó¤Ë¥Þ¥Ã¥Á¤¹¤ë¥Ñ¥¹Ì¾¤Î¥ê¥¹¥È¤òÆÀ¤ë¤³¤È¤Ç¤¢¤ë¡£ ¥Þ¥Ã¥Á¤Ï°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤ë¡£

(¥Ö¥é¥±¥Ã¥È³°Éô¤Î) `?' ¤Ï¤¢¤é¤æ¤ëñ°ì¤Îʸ»ú¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£

(¥Ö¥é¥±¥Ã¥È³°Éô¤Î) `*' ¤Ï¤¢¤é¤æ¤ëʸ»úÎó¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£ ¶õʸ»úÎó (empty string) ¤Ë¤â¥Þ¥Ã¥Á¤¹¤ë¡£

ʸ»ú¥¯¥é¥¹ (character class)

`[...]' ¤È¸À¤¦É½µ­¤Ï¡¢ÀèƬ¤Î `[' ¤Ë³¤¯ºÇ½é¤Îʸ»ú¤¬ `!' ¤Ç¤Ê¤±¤ì¤Ð¡¢ ¥Ö¥é¥±¥Ã¥È¤ÎÃæ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëʸ»ú¤Î¤É¤ì¤«°ì¤Ä¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£ ¥Ö¥é¥±¥Ã¥È¤ÎÆâÉô¤Ë´Þ¤Þ¤ì¤ëʸ»úÎó¤Ï¶õ¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ ¤·¤¿¤¬¤Ã¤Æ `]' ¤âºÇ½é¤Îʸ»ú¤Ë»ØÄꤹ¤ì¤Ð¥Ö¥é¥±¥Ã¥È¤ÎÆâÉô¤Ë´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ (¤Ä¤Þ¤ê `[][!]' ¤Ï `[', `]', `!' ¤Î 3 ʸ»ú¤Î¤É¤ì¤«¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£)

Îΰè»ØÄê (range)

Æüì¤Êɽµ­Ë¡¤¬°ì¤Ä¸ºß¤¹¤ë¡£`-' ¤ò¶´¤àÆó¤Ä¤Îʸ»ú¤ÏÎΰè»ØÄê¤È¤Ê¤ë¡£ (¤Ä¤Þ¤ê `[A-Fa-f0-9]' ¤Ï `[ABCDEFabcdef0123456789]' ¤ÈÅù²Á¤È¤Ê¤ë¡£) `-' ʸ»ú¤½¤Î¤â¤Î¤òÆþ¤ì¤¿¤¤¾ì¹ç¤Ï¡¢ ¥Ö¥é¥±¥Ã¥È¤ÎÀèƬ¤Þ¤¿¤ÏºÇ¸å¤Îʸ»ú¤Ë»ØÄꤹ¤ì¤Ð¤è¤¤¡£ (¤Ä¤Þ¤ê `[]-]' ¤ÏÆó¤Ä¤Îʸ»ú `]' ¤È `-' ¤Ë¥Þ¥Ã¥Á¤·¡¢`[--0]' ¤Ï `-', `.', `0' ¤Î 3 ʸ»ú¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£ ¤³¤Î´Ö¤Î `/' ¤Ë¤Ï¥Þ¥Ã¥Á¤·¤Ê¤¤¡£¸å½Ò¤ò»²¾È¡£)

Ê佸¹ç (complementation)

`[!...]' ¤È¸À¤¦É½µ­¤Ï¡¢¥Ö¥é¥±¥Ã¥È¤ÎÆâÉô¤Ë´Þ¤Þ¤ì¤Ê¤¤Ã±°ì¤Îʸ»ú¤Ë¥Þ¥Ã¥Á¤¹¤ë (¤¿¤À¤·ÀèƬ¤Ë¤¢¤ë `!' ¤Ï½ü³°)¡£ (¤Ä¤Þ¤ê `[!]a-]' ¤Ï `]', `a', `-' °Ê³°¤Î¤¹¤Ù¤Æ¤Îʸ»ú¤Î¡¢¤É¤ì¤«°ì¤Ä¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£)

¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å `\' ¤òÁ°ÃÖ¤¹¤ì¤Ð¡¢ `?', `*', `[' ¤ÏÄ̾ï¤Îʸ»ú¤È¤·¤Æ°·¤ï¤ì¤ë¡£ ¤Þ¤¿¤Ï¥·¥§¥ë¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ìÉô¤Ë»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢ ¥¯¥©¡¼¥È¤Ç°Ï¤Ã¤Æ¤âƱ¤¸¸ú²Ì¤¬ÆÀ¤é¤ì¤ë¡£¥Ö¥é¥±¥Ã¥È¤ÎÆâÉô¤Ç¤Ï¡¢ ¤³¤ì¤é¤Îʸ»ú¤Ï¤½¤Îʸ»ú¼«¿È¤À¤±¤ò°ÕÌ£¤¹¤ë¡£ ¤¹¤Ê¤ï¤Á `[[?*\]' ¤Ï `[', `?', `*', `\' ¤Î¤É¤ì¤«°ìʸ»ú¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£

¥Ñ¥¹Ì¾ (pathname)

glob Æ°ºî¤Ï¡¢¥Ñ¥¹Ì¾¤Î¤½¤ì¤¾¤ì¤ÎÉôʬ¤ËÆÈΩ¤ËŬÍѤµ¤ì¤ë¡£ ¥Ñ¥¹Ì¾¤Ë¸ºß¤¹¤ë `/' ¤Ï `?' ¤ä `*' ¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤Ï¥Þ¥Ã¥Á¤·¤Ê¤¤¡£ ¤Þ¤¿ `[.-0]' ¤Î¤è¤¦¤ÊÎΰè»ØÄê¤Ë¤â¥Þ¥Ã¥Á¤·¤Ê¤¤¡£ Îΰè»ØÄê¤ÏÍÛ¤Ë `/' ʸ»ú¤ò´Þ¤à¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£¤³¤ì¤Ïʸˡ¥¨¥é¡¼¤È¤Ê¤ë¡£

`.' ¤Ç»Ï¤Þ¤ë¥Ñ¥¹Ì¾¤Ç¤Ï¡¢¤³¤Îʸ»ú¤ÏÍۤ˥ޥåÁ¤µ¤»¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ (¤Ä¤Þ¤ê `rm *' ¤Ï .profile ¤òºï½ü¤·¤Ê¤¤¡£¤Þ¤¿ `tar c *' ¤Ç¤Ï¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï¥¢¡¼¥«¥¤¥Ö¤µ¤ì¤Ê¤¤¡£ `tar c .' ¤ÎÊý¤¬Îɤ¤¡£)

¶õ¤Î¥ê¥¹¥È

Àè¤ËÍ¿¤¨¤¿¡¢¤ï¤«¤ê¤ä¤¹¤¯´Êñ¤Ê¥ë¡¼¥ë¡¢ ¡Ö¥ï¥¤¥ë¥É¥«¡¼¥É¥Ñ¥¿¡¼¥ó¤ò¥Þ¥Ã¥Á¤·¤¿¥Ñ¥¹Ì¾¤Î¥ê¥¹¥È¤ËŸ³«¤¹¤ë¡×¤È¸À¤¦¤Î¤Ï¡¢ ¥ª¥ê¥¸¥Ê¥ë¤Î Unix ¤Ë¤ª¤±¤ëÄêµÁ¤Ç¤¢¤Ã¤¿¡£ ¤³¤ì¤Ï¥Ñ¥¿¡¼¥ó¤¬¶õ¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤ë¤³¤È¤âµö²Ä¤µ¤ì¤Æ¤¤¤¿¡£ Î㤨¤Ð

    xv -wait 0 *.gif *.jpg

¤Ë¤ª¤¤¤Æ¡¢*.gif ¥Õ¥¡¥¤¥ë¤¬Á´¤¯¤Ê¤¤¾ì¹ç¤Ç¤â¡¢ ¤³¤ì¤Ï¶õ¤Î¥ê¥¹¥È¤ËŸ³«¤µ¤ì¤ë¤¿¤á¡¢¥¨¥é¡¼¤Ë¤Ê¤é¤Ê¤¤¡£ ¤·¤«¤· POSIX ¤Ç¤Ï¡¢Ê¸Ë¡Åª¤ËÀµ¤·¤¯¤Ê¤¤¥Ñ¥¿¡¼¥ó¤ä¡¢ ¥Þ¥Ã¥Á¤¬¤Ê¤«¤Ã¤¿¥Ñ¥¿¡¼¥ó¤Ï¡¢ ¤½¤Î¤Þ¤ÞÊѹ¹¤µ¤ì¤º¤Ë»Ä¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ bash ¤Ç¤Ï allow_null_glob_expansion=true ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢°ÊÁ°¤Î¿¶¤ëÉñ¤¤¤ËÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

(ƱÍͤÎÌäÂê¤ÏÊ̤ΤȤ³¤í¤Ç¤âµ¯¤³¤Ã¤Æ¤¤¤ë¡£Î㤨¤Ð¡¢¸Å¤¤¥¹¥¯¥ê¥×¥È¤Ë¤ª¤±¤ë


    rm `find . -name "*~"`

¤Î¤è¤¦¤Êµ­½Ò¤Ï¡¢¿·¤·¤¤¥¹¥¯¥ê¥×¥È¤Ç¤Ï

    rm -f nosuchfile `find . -name "*~"`

¤Î¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤µ¤â¤Ê¤¤¤È rm ¤ò°ú¤­¿ô¥ê¥¹¥È¤Ê¤·¤Ç¸Æ¤Ó½Ð¤¹²ÄǽÀ­¤¬¤¢¤ê¡¢ ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Æ¤·¤Þ¤¦¡£)

Ãí°Õ

Àµµ¬É½¸½

¥ï¥¤¥ë¥É¥«¡¼¥É¥Ñ¥¿¡¼¥ó¤ÏÀµµ¬É½¸½¤È¿¾¯»÷¤Æ¤¤¤ë¤¬¡¢¤·¤«¤·¤³¤Îξ¼Ô¤Ï°Û¤Ê¤ë¡£ ¤Þ¤ºÂè°ì¤Ë¡¢Á°¼Ô¤¬¥Õ¥¡¥¤¥ë̾¤Ë¥Þ¥Ã¥Á¤¹¤ë¤Î¤ËÂФ·¤Æ¡¢ ¸å¼Ô¤Ï¥Æ¥­¥¹¥È¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£ÂèÆó¤Ë¡¢¥ë¡¼¥ë¤âƱ¤¸¤Ç¤Ï¤Ê¤¤¡£ Î㤨¤ÐÀµµ¬É½¸½¤Ë¤ª¤±¤ë `*' ¤Ï¡¢ Á°ÃÖ¤µ¤ì¤¿Ê¸»ú¤Î 0 °Ê¾å¤Î·«¤êÊÖ¤·¤òɽ¤¹¡£

Àµµ¬É½¸½¤Ë¤â¥Ö¥é¥±¥Ã¥Èɽ¸½¤Ï¤¢¤ë¤¬¡¢ÈÝÄê¤Ï `^' ¤Ç¤Ê¤µ¤ì¤ë¡£ POSIX ¤Ç¤Ï¥ï¥¤¥ë¥É¥«¡¼¥É¥Ñ¥¿¡¼¥ó¤Ë¤ª¤±¤ë `[^...]' ¤ò̤ÄêµÁ¤Ç¤¢¤ë¤È¤·¤Æ¤¤¤ë¡£

ʸ»ú¥¯¥é¥¹¤È¹ñºÝ²½

Îΰè»ØÄê¤Ï¡¢¤â¤È¤â¤È¤Ï¤â¤Á¤í¤ó ASCII ¤Ë¤ª¤±¤ë½ç½øʤӤò°ÕÌ£¤·¤Æ¤¤¤¿¡£ ¤·¤¿¤¬¤Ã¤Æ `[ -%]' ¤Ï `[ !"#$%]' ¤Î°ÕÌ£¤Ç¤¢¤ê¡¢ `[a-z]' ¤Ï ¡Ö¤¹¤Ù¤Æ¤Î¾®Ê¸»ú¡×¤Î°ÕÌ£¤Ç¤¢¤Ã¤¿¡£ Unix ¤Î¼ÂÁõ¤ÎÃæ¤Ë¤Ï¡¢¤³¤ì¤ò³ÈÄ¥¤·¤¿¤â¤Î¤¬Â¸ºß¤·¡¢ ¤½¤³¤Ç¤Ï X-Y ¤È¤¤¤¦Îΰè»ØÄê¤Ï¡¢X ¤Î¥³¡¼¥É¤È Y ¤Î¥³¡¼¥É¤Ë¶´¤Þ¤ì¤¿¥³¡¼¥É¤ò»ý¤Äʸ»ú¤¹¤Ù¤Æ¤òɽ¤¹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿¡£ ¤·¤«¤·¡¢¤³¤ì¤Ë¤Ï¥æ¡¼¥¶¡¼¤¬¥í¡¼¥«¥ë¤Ê¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ë ʸ»ú¥³¡¼¥É¤òÃΤé¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ ¤µ¤é¤Ë¥í¡¼¥«¥ë¤Ê¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ËÂФ¹¤ë¾È¹ç½ç½ø (collating sequence) ¤¬Ê¸»ú¥³¡¼¥É¤Î½ç½ø¤È°Û¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤ÏÉÔÊؤǤ¢¤Ã¤¿¡£ (ÌõÃí: collating sequence ¤Ë´Ø¤·¤Æ¤Ï regex(7) ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£) ¤·¤¿¤¬¤Ã¤Æ POSIX ¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¥Ñ¥¿¡¼¥ó¤ÈÀµµ¬É½¸½¤ÎÁÐÊý¤Ë¤ª¤¤¤Æ¡¢ ¥Ö¥é¥±¥Ã¥Èɽµ­¤òÂçÉý¤Ë³ÈÄ¥¤·¤Æ¤¤¤ë¡£ ¤³¤ì¤Þ¤Ç²æ¡¹¤Ï¡¢¥Ö¥é¥±¥Ã¥Èɽµ­¤Ë¤Ï»°¤Ä¤ÎÍ×ÁǤ¬´Þ¤Þ¤ì¤¦¤ë¤³¤È¤ò¸«¤Æ¤­¤¿¡£ ¤¹¤Ê¤ï¤Á (i) ÈÝÄê¡¢(ii) ñ°ì¤Îʸ»ú¡¢(iii) Îΰè»ØÄê¡¢¤Î»°¤Ä¤Ç¤¢¤ë¡£ POSIX ¤Ç¤Ï¡¢Îΰè»ØÄê¤ò¤è¤ê¹ñºÝ²½¤ËÊØÍø¤Ê¤è¤¦¤ËÄêµÁ¤·¤Æ¤ª¤ê¡¢ ¤Þ¤¿»°¤Ä¤Î¥¿¥¤¥×¤ò¥Ö¥é¥±¥Ã¥Èɽµ­¤ÎÍ×ÁǤȤ·¤ÆÄɲ䷤Ƥ¤¤ë¡£

(iii) Îΰè»ØÄê X-Y ¤Ï X ¤È Y ¤Ë¶´¤Þ¤ì¤¿ (ξü´Þ¤à) ¤¹¤Ù¤Æ¤Îʸ»ú¤ò°ÕÌ£¤¹¤ë¡£ ¤³¤Î¤È¤­¡¢¥«¥ì¥ó¥È¥í¥±¡¼¥ë (current locale) ¤Î LC_COLLATE ¥«¥Æ¥´¥ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾È¹ç½ç½ø¤¬ÍѤ¤¤é¤ì¤ë¡£

(iv) ̾Á°ÉÕ¤­Ê¸»ú¥¯¥é¥¹: °Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¡£




[:alnum:]  [:alpha:]  [:blank:]  [:cntrl:]

[:digit:]  [:graph:]  [:lower:]  [:print:]

[:punct:]  [:space:]  [:upper:]  [:xdigit:]



¤³¤ì¤òÍѤ¤¤ì¤Ð `[a-z]' ¤ÎÂå¤ï¤ê¤Ë `[[:lower:]]' ¤Î¤è¤¦¤Ê»ØÄ꤬¤Ç¤­¤ë¡£ ¤Þ¤¿¥Ç¥ó¥Þ¡¼¥¯¤Î¤è¤¦¤Ë¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î `z' °Ê¹ß¤Ë 3 ¤Ä¤Îʸ»ú¤¬Â¸ºß¤¹¤ë¤è¤¦¤Ê¾ì¹ç¤Ç¤â¡¢Æ±¤¸¤è¤¦¤ÊÆ°ºî¤¬´üÂԤǤ­¤ë¡£ ¤³¤ì¤é¤Îʸ»ú¥¯¥é¥¹¤Ï¥«¥ì¥ó¥È¥í¥±¡¼¥ë¤Î LC_CTYPE ¥«¥Æ¥´¥ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£

(v) ¾È¹ç½ç½ø¤Ë¤ª¤±¤ë¥·¥ó¥Ü¥ë: `[.ch.]' ¤ä `[.a-acute.]' ¤Î¤è¤¦¤Ë `[.' ¤È `.]' ¤Ç¶´¤Þ¤ì¤¿Ê¸»úÎó¤Ï¡¢¥«¥ì¥ó¥È¥í¥±¡¼¥ë¤ÇÄêµÁ¤µ¤ì¤¿¾È¹ç½ç½ø¤ÎÍ×ÁǤȤʤ롣 ¤¢¤ë°ì¤Ä¤ÎÍ×ÁǤ¬Ê£¿ô¤Îʸ»ú¤«¤é¤Ê¤ë¾ì¹ç¤â¤¢¤ê¤¦¤ë¤³¤È¤ËÃí°Õ¡£

(vi) Åù²Á¥¯¥é¥¹É½¸½ (equivalence class expressions): `[=a=]' ¤Î¤è¤¦¤Ë `[=' ¤È `=]' ¤È¤Ç¶´¤Þ¤ì¤¿Ê¸»úÎó¤Ç¤¢¤ë¡£ ¤³¤ì¤ÏÅù²Á¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ç¤¢¤ë¾È¹ç½ç½ø¤ÎÍ×ÁǤ¹¤Ù¤Æ¤Ë¤Ê¤ë¡£ Åù²Á¥¯¥é¥¹¤Ï¥«¥ì¥ó¥È¥í¥±¡¼¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ë¤Ê¤ë¡£ Î㤨¤Ð¡¢`[[=a=]]' ¤Ï `[a[.a-acute.][.a-grave.][.a-umlaut.][.a-circumflex.]]' ¤ÈÅù²Á¤Ç¤¢¤ë (Latin-1 ɽµ­¤Ç¤Ï [a\`{a}\'{a}\"{a}\^{a}] ¤âƱ¤¸¡£ [ÌõÃí] ÆüËܸì¤Î roff ¥Ú¡¼¥¸¤Ç¤Ï latin1 ¥³¡¼¥É¤¬½Ð¤Ê¤¤¤Î¤Ç¡¢ ¤³¤³¤Ç¤Ï TeX ɽµ­¤Çµ­ºÜ)¡£

´ØÏ¢¹àÌÜ

sh(1), fnmatch(3), glob(3), locale(7), regex(7)