expr
Section: User Commands (1) Updated: 18 August 1999 Index
Return to Main Contents
̾Á°
expr - ¼°¤òɾ²Á¤¹¤ë
½ñ¼°
expr expression...
expr [--help] [--version]
ÀâÌÀ
expr
¤Ï¼°¤òɾ²Á¤·¡¢¤½¤Î·ë²Ì¤òɸ½à½ÐÎϤ˽ñ¤½Ð¤¹¡£
¼°¤Î¥È¡¼¥¯¥ó (token) ¤Ï¤½¤ì¤¾¤ìÊÌ¡¹¤Î°ú¿ô¤ÇÍ¿¤¨¤ëɬÍפ¬¤¢¤ë¡£
¥ª¥Ú¥é¥ó¥É (operand) ¤Ï¿ô»ú¤Þ¤¿¤Ïʸ»úÎó¤Ç¤¢¤ë¡£
expr
¤Ï¥ª¥Ú¥é¥ó¥É¤Î°ÌÃ֤˸½¤ì¤¿¤â¤Î¤ò¡¢¤½¤ì¤ËÂФ·¤Æ¹Ô¤ï¤ì¤ë±é»»¤Ë±þ¤¸¤Æ
¶¯À©Åª¤ËÀ°¿ô¤Þ¤¿¤Ïʸ»úÎó¤È¤·¤Æ²ò¼á¤¹¤ë¡£
ʸ»úÎó¤Ï
expr
¤Ç¤Ï¥¯¥ª¡¼¥È¤·¤Ê¤¯¤Æ¤è¤¤¤¬¡¢
¥·¥§¥ë¤«¤éÊݸ¤ë¤¿¤á¤Î°úÍÑÉ䤬ɬÍפ«¤â¤·¤ì¤Ê¤¤ (¥¹¥Ú¡¼¥¹¤Ê¤É)¡£
±é»»»Ò¤ÏÆó¹à´Ö¤ËÁÞÆþ¤µ¤ì¤ë¥·¥ó¥Ü¥ë¤È¤·¤Æ¡¢
¤Þ¤¿¤ÏÁ°ÃÖ¤µ¤ì¤ë¥¡¼¥ï¡¼¥É¤È¤·¤ÆÍ¿¤¨¤é¤ì¤ë¡£
³ç¸Ì¤âÄ̾ï¤Î¤è¤¦¤Ë¥°¥ë¡¼¥×²½¤ËÍøÍѤǤ¤ë
(¤·¤«¤·¥·¥§¥ë¤Ë¤è¤ë²ò¼á¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï³ç¸Ì¤ò¥¯¥©¡¼¥È¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡£
expr
¤Ï°Ê²¼¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹¤òÊÖ¤¹:
0: ¼°¤¬¥Ê¥ë¤Ç¤â 0 ¤Ç¤â¤Ê¤¤
1: ¼°¤¬¥Ê¥ë¤Þ¤¿¤Ï 0
2: ¼°¤¬Àµ¤·¤¯¤Ê¤¤
±é»»»Ò (Í¥ÀèÅÙ½ç)
´Ø·¸±é»»
- |
-
º¸¹à¤¬¥Ê¥ë¤Ç¤â 0 ¤Ç¤â¤Ê¤±¤ì¤Ðº¸¹à¤òÊÖ¤¹¡£
¥Ê¥ë¤ä 0 ¤À¤Ã¤¿¾ì¹ç¤Ï±¦¹à¤òÊÖ¤¹¡£
¤³¤ì¤ÏÄ̾ï¤Î `or' ±é»»¤Ë¤¢¤¿¤ë¡£
- &
-
º¸¹à¡¢±¦¹à¤È¤â¥Ê¥ë¤Ç¤â 0 ¤Ç¤â¤Ê¤±¤ì¤Ðº¸¹à¤òÊÖ¤¹¡£
¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤È¤Ê¤ë¡£
- < <= = == != >= >
-
ξ¹à¤òÈæ³Ó¤·¡¢´Ø·¸¤¬¿¿¤Ê¤é 1¡¢µ¶¤Ê¤é 0 ¤òÊÖ¤¹
(== ¤Ï =¤ÈƱµÁ¡Ë¡£
expr ¤Ï¤Þ¤ºÎ¾Êý¤Î¹à¤ò¿ôÃͤȤߤʤ·¤Æ
¿ôÃÍŪ¤ÊÈæ³Ó¤ò¹Ô¤ª¤¦¤È¤¹¤ë¡£
¤É¤Á¤é¤«¤Î°ú¿ô¤¬¿ôÃͤȤߤʤ»¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¼½ñŪ¤ÊÈæ³Ó¤ò¹Ô¤¦¡£
¿ôÃͱ黻
- + -
-
Âå¿ôŪ¤Ê²Ã¸º»»¤ò¹Ô¤¦¡£
º¸±¦¤Î¹à¤Ï¿ôÃͤȤߤʤµ¤ì¡¢¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¨¥é¡¼¤È¤Ê¤ë¡£
- * / %
-
Âå¿ôŪ¤Ê¾è»»¡¦½ü»»¡¦¾ê;±é»»¤ò¹Ô¤¦
(`%' ¤Ï C ¤Î¾ì¹ç¤ÈƱ¤¸¤¯¾ê;±é»»¤ËÂбþ¤¹¤ë)¡£
º¸±¦¤Î¹à¤Ï¿ôÃͤȤߤʤµ¤ì¡¢¤³¤ì¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¨¥é¡¼¤È¤Ê¤ë¡£
ʸ»úÎó±é»»
- string : regex
-
¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤ò¼Â¹Ô¤¹¤ë¡£
º¸±¦¤Î¹à¤Ïʸ»úÎó¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¡¢
±¦¹à¤Ï (grep(1) ¤Î»È¤¦´ðËÜŪ¤Ê) Àµµ¬É½¸½¤È¤·¤Æ°·¤ï¤ì¤ë¡£
±¦¹à¤Ë¤Ï°ÅÌۤΤ¦¤Á¤ËÀèÆ¬¤Ë `^' ¤¬¼«Æ°Åª¤ËÉղ䵤졢
º¸¹à¤¬¤½¤ÎÀµµ¬É½¸½¤Ë¥Þ¥Ã¥Á¤¹¤ë¤«¤Î¥Æ¥¹¥È¤¬¹Ô¤ï¤ì¤ë¡£
¥Þ¥Ã¥Á¤¬À®¸ù¤·¤¿¾ì¹ç¡¢
Àµµ¬É½¸½¤Î°ìÉô¤¬ `\(' ¤È '\)' ¤Ç°Ï¤ï¤ì¤Æ¤¤¤ì¤Ð¡¢
: ±é»»»Ò¤Ï string ¤Î¤¦¤Á¡¢
Éûɽ¸½ (subexpression) ¤Ë¥Þ¥Ã¥Á¤·¤¿Éôʬ¤òÊÖ¤¹¡£
¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¥Þ¥Ã¥Á¤·¤¿Éôʬ¤Îʸ»ú¿ô¤¬ÊÖ¤µ¤ì¤ë¡£
¥Þ¥Ã¥Á¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¡¢
`\(' ¤È `\)' ¤¬»È¤ï¤ì¤Æ¤¤¤¿¾ì¹ç¤Ë¤Ï¥Ê¥ëʸ»úÎ󤬡¢
¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£
`\(' ¤È `\)' ¤Î¥Ú¥¢¤Î¤¦¤Á¡¢ºÇ½é¤Î¤â¤Î¤À¤±¤¬ÊÖ¤êÃͤ˱ƶÁ¤¹¤ë¡£
¤½¤ì°Ê³°¤Î¥Ú¥¢¤Ï¡¢Àµµ¬É½¸½¤Î±é»»»Ò¤ò¥°¥ë¡¼¥×²½¤¹¤ë¤È¤¤¤¦°ÕÌ£¤À¤±¤ò»ý¤Ä¡£
¾¤Î
expr
¤È°Û¤Ê¤ê¡¢ `+' (1 ¤Ä°Ê¾å)¡¢ `?' (0 ¤Þ¤¿¤Ï 1)¡¢`|'
(or Àܳ) ¤â¥Þ¥Ã¥Á¥ó¥°±é»»»Ò¤È¤·¤ÆÇ§¼±¤µ¤ì¤ë¡£
- ¤µ¤é¤Ë¡¢°Ê²¼¤Î¥¡¼¥ï¡¼¥É¤âǧ¼±¤µ¤ì¤ë:
-
- index string charset
-
charset ¤Ë¤¢¤ë¤É¤ì¤«¤Îʸ»ú¤¬ string ¤Ë¸«ÉÕ¤«¤ì¤Ð¡¢
¤½¤ÎºÇ½é¤Ë¸«ÉÕ¤«¤Ã¤¿°ÌÃÖ¤òÊÖ¤¹¡£¤É¤Îʸ»ú¤â¸«ÉÕ¤«¤é¤Ê¤±¤ì¤Ð 0 ¤òÊÖ¤¹¡£
- length string
-
string ¤ÎŤµ¤òÊÖ¤¹¡£
- match string regex
-
¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤ò¹Ô¤¦Ê̤Τä¤êÊý¡£
¤³¤ì¤Ï ``string : regex'' ¤ÈƱ¤¸¡£
- quote string
-
string ¤ò (±é»»»Ò¤Þ¤¿¤Ï¥¡¼¥ï¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Æ¤â) Ä̾ï¤Îʸ»úÎó¤È¤ß¤Ê¤¹¡£
´Ä¶ÊÑ¿ô POSIXLY_CORRECT ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È̵¸ú¤Ë¤Ê¤ë¡£
- substr string position length
-
string ¤ÎÉôʬʸ»úÎó¤òÊÖ¤¹¡£
Éôʬʸ»úÎó¤Ï string ¤Î position ¤«¤é»Ï¤Þ¤ê¡¢
ºÇÂç length ¤ÎŤµ¤ò»ý¤Ä¡£
position ¤ä length ¤¬Àµ¤Ç¤Ê¤«¤Ã¤¿¤ê¿ôÃͤǤʤ«¤Ã¤¿¾ì¹ç¤Ï¡¢
¥Ê¥ëʸ»úÎó¤òÊÖ¤¹¡£
³ç¸Ì¤ÏÄ̾ï¤Î¥°¥ë¡¼¥×²½¤Î°ÕÌ£¤ËÍѤ¤¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¥¡¼¥ï¡¼¥É (match, substr, index, length) ¤Ïʸ»úÎó¤È¤·¤ÆÍѤ¤¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£
¥ª¥×¥·¥ç¥ó
GNU
expr
¤¬°ú¿ô°ì¤Ä¤À¤±¤Çµ¯Æ°¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢
°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤¬Ç§¼±¤µ¤ì¤ë:
- --help
-
ɸ½à½ÐÎϤ˻ÈÍÑÊýË¡¤Î¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤ÆÀµ¾ï½ªÎ»¤¹¤ë¡£
- --version
-
ɸ½à½ÐÎϤ˥С¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤ÆÀµ¾ï½ªÎ»¤¹¤ë¡£
Îã
¥·¥§¥ëÊÑ¿ô
foo
¤Ë 1 ¤ò²Ã¤¨¤ë:
-
foo=`expr $a + 1`
ÊÑ¿ô
bar
¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë̾¤Î¤¦¤Á¡¢
¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤ÎÉôʬ¤òɽ¼¨¤¹¤ë
(bar
¤ÎÃÍ¤Ë¤Ï `/' ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤âÎɤ¤):
-
expr $bar : '.*/\(.*\)' '|' $a
ʸ»úÎó `abc' ¤Ëʸ»ú `b' ¤ò¥Þ¥Ã¥Á¤µ¤»¤ë:
-
expr abc : 'a\(.\)c'
ʸ»úÎó `abcdef' ¤Ë `c' ¤Þ¤¿¤Ï `z' ¤Î¤¤¤º¤ì¤«¤¬Â¸ºß¤·¤Æ¤¤¤ë°ÌÃÖ¤òõ¤¹:
-
expr index abcdef cz
¥¡¼¥ï¡¼¥É (index) ¤òʸ»úÎó¤È¤·¤ÆÍѤ¤¤Æ¤¤¤ë¸í¤Ã¤¿Îã:
-
expr index index a
¥¡¼¥ï¡¼¥É (index) ¤òʸ»úÎó¤È¤·¤ÆÍѤ¤¤Æ¤¤¤ëÀµ¤·¤¤Îã:
-
expr index quote index d
Ãí°Õ
¥×¥í¥°¥é¥à¤Î¥Ð¥°¤Ë¤Ä¤¤¤Æ¤Ï bug-sh-utils@gnu.org ¤ËÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Ú¡¼¥¸¤Î¹¹¿·¤Ï Ragnar Hojland Espinosa <ragnar@macula.net> ¤¬¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
Index
- ̾Á°
-
- ½ñ¼°
-
- ÀâÌÀ
-
- ±é»»»Ò (Í¥ÀèÅÙ½ç)
-
- ´Ø·¸±é»»
-
- ¿ôÃͱ黻
-
- ʸ»úÎó±é»»
-
- ¥ª¥×¥·¥ç¥ó
-
- Îã
-
- Ãí°Õ
-
|