GLOB 7

中文man手册

GLOB

NAME
æè¿° (DESCRIPTION)
éé符å¹é (WILDCARD MATCHING)
å符é (Character classes)
èå´é (Ranges)
è¡¥é (Complementation)
è·¯å¾å (PATHNAME)
空å表 (EMPTY LISTS)
注æ (NOTES)
æ£è§è¡¨è¾¾å¼ (Regular expressions)
å符é å å½éå (Character classes and Internationalization )
SEE ALSO
[䏿çç»´æ¤äºº]
[ä¸æçææ°æ´æ°]
ãä¸å½Linux论åmanæå页翻è¯è®¡åã
è·

NAME

glob - å½¢æè·¯å¾åç§°

æè¿° (DESCRIPTION)

å¾ä¹ä»¥å å¨ UNIX V6 ç ä¸ æä¸ä¸ª ç¨åº /etc/glob ç¨æ¥ å±å¼ éé符模æ¿. ä¸ä¹ä»¥å å® æä¸º shell å建åè½. ç°å¨ 人们 å¼åäº ç±»ä¼¼ç åºå½æ° glob(3), 让 ç¨æ·ç¨åº å®ç° åæ ·ç åè½.

æ¤ è§å éµå¾ª (POSIX 1003.2, 3.13).

éé符å¹é (WILDCARD MATCHING)

åå« ’?’, ’*’ æ ’[’ å符ç å符串 称为 éé符模æ¿(wildcard pattern). å½¢æè·¯å¾å(globbing) æ ä¸ç§ æä½, æ ééç¬¦æ¨¡æ¿ å±å¼ä¸º å¹é 该串ç è·¯å¾å. å¹é å®ä¹ä¸º:

ä¸å¨ æ¹æ¬å¼§ä¸ ç ’?’ å¹é ä»»æ å个 å符.

ä¸å¨ æ¹æ¬å¼§ä¸ ç ’*’ å¹é ä»»æ å符串, 忬 空串.

å符é (Character classes)

å¯¹äº è¡¨è¾¾å¼ ‘[...]’, 妿 å¨ ç¬¬ä¸ä¸ª ’[’符 åé¢ åºç°ç 第ä¸ä¸ª å符 䏿¯ ’!’, å 该 è¡¨è¾¾å¼ å¹é ä»»æ ä¸ä¸ª å¨ ‘[...]’å åºç°ç å符. æ¹æ¬å¼§å ä¸è½ æ 空串, å æ¤ ’]’ å¯ä»¥ ä½ä¸º 第ä¸ä¸ª å符 åºç°å¨ æ¹æ¬å¼§å. (å è¿æ ·, ’[][!]’ å¹é ä¸å ä¸ä¸ª å符 ä¸ç ä»»æ ä¸ä¸ª, ’[’, ’]’ å ’!’.)

èå´é (Ranges)

åç¬¦é æä¸ä¸ª ç¹ä¾: ç¨ ’-’ åå¼ç 两个 å符 表示 ä¸ä¸ª èå´é. (å è¿æ ·, ‘[A-Fa-f0-9]’ çäº ‘[ABCDEFabcdef0123456789]’.) æ ’-’ æ¾å° æ¹æ¬å¼§å ç å¼å¤´ æ æå å¯ä»¥ è·å¾ å®ç æ¬æ. (å è¿æ ·, ‘[]-]’ å¹é ’]’å’-’ ä¸ ä»»æ ä¸ä¸ª. è ‘[--/]’ å¹é ‘-’, ‘.’ å‘/’ä¸ ä»»æ ä¸ä¸ª.)

è¡¥é (Complementation)

è¡¨è¾¾å¼ ’[!...]’ 表示 ä¸ä¸ª å符, 该 å符 ä¸å¹é æ¹æ¬å¼§å 廿 å¼å¤´ ’!’ å ç 表达å¼. (å è¿æ ·, ‘[!]a-]’ å¹é é¤äº ’]’, ’a’ å ’-’ ç ä»»æ ä¸ä¸ª å符.)

è¦ å»æ ’?’, ’*’ å ’[’ ç ç¹æ® å«ä¹, å¯ä»¥ éè¿ åé¢ å  ä¸ä¸ª åææ ; æè å¨ shell å½ä»¤è¡ ä¸, éè¿ å¼å· æ¥ å¼ç¨ è¿äº å符. å¨ æ¹æ¬å¼§å è¿äº å符 æ¾é²åº æ¬æ, æä»¥, ’[[?*\]’ å¹é è¿ å个å符 ä¸ ç ä¸ä¸ª: ’[’, ’?’, ’*’, ’\’.

è·¯å¾å (PATHNAME)

å½¢æè·¯å¾å åè½ åºç¨äº è·¯å¾ ä¸ ç æ¯ä¸ä¸ª æåé¨å. è·¯å¾ ä¸ ç ’/’ ä¸è½ 被 éé符 ’?’ æ ’*’, æ èå´é å¦ ’[.-0]’ å¹é. èå´é ä¸è½ ç´æ¥ åå« ’/’, å¦å å¯¼è´ è¯æ³é误.

妿 å¾å¹éç æä»¶å 以’.’å¼å¤´, é£ä¹ è¿ä¸ª ’.’ å符 å¿é¡» ç´æ¥ ç»åº. (æ¯å¦è¯´, ´rm *’ ä¸ä¼ å é¤ ’.profile’ æä»¶, ’tar c *’ ä¸ä¼ æå ä½ ç ææ æä»¶; ç¨ ’tar c .’ ä¼ æ´å¥½.)

空å表 (EMPTY LISTS)

ä¸è¿°ç ç®åä¼é è§å, æ ééç¬¦æ¨¡æ¿ å±å¼ä¸º å¹éç è·¯å¾å, æ¥æºäº æåç UNIX å®ä¹. å® å许 å±å¼åº 空串, ä¾å¦

xv -wait 0 *.gif *.jpg

è¿é å¯è½ 没æ *.gif æä»¶ (èä¸ ä¸ç® é误).

ç¶è, POSIX è¦æ± 奿³ é误 æ è·¯å¾å å表 为 空 æ¶, ä¿ç ééç¬¦æ¨¡æ¿ ä¸å. (è¯æ³¨: å³ ä¸å±å¼.)

å¨ bash ä¸ å¯ä»¥ éè¿ è®¾ç½® allow_null_glob_expansion=true æ å® å¼ºç½®ä¸º ä¼ ç»ç 飿 ¼. (å¶ä» å°æ¹ 乿 类似ç é®é¢, ä¾å¦, èå¼ç è¯å¥ æ¯

rm ‘find . -name "*˜"‘

æ°ç åæ³ 为

rm -f nosuchfile ‘find . -name "*˜"‘

以 é¿å ç±äº ç©ºåæ°è°ç¨ rm è 产ç é误信æ¯.)

注æ (NOTES)

æ£è§è¡¨è¾¾å¼ (Regular expressions)

注æ, ééç¬¦æ¨¡æ¿ ä¸æ¯ æ£è§è¡¨è¾¾å¼, 尽管 å®ä»¬ æç¹è±¡. é¦å, å® å¹é æä»¶å, è 䏿¯ æ£æ; å¶æ¬¡, è§å ä¸ä¸æ ·, ä¾å¦ æ£è§è¡¨è¾¾å¼ é ç ’*’ 代表 é¶ä¸ªæå¤ä¸ª åé¢å容ç éå¤.

æ£è§è¡¨è¾¾å¼ ç æ¹æ¬å¼§è¡¨è¾¾å¼ ç¨ ’ˆ’ å¼å¯¼ ååæä½, (è䏿¯ ’[!...]’). POSIX 声æ, å¨ ééç¬¦æ¨¡æ¿ ä¸, ’[ˆ...]’ æªå å®ä¹.

å符é å å½éå (Character classes and Internationalization )

å½ç¶, èå´é æå æ ASCIIç èå´, å æ¤ ’[ -%]’ æææ¯ ’[ !"#$%]’,’[a-z]’ æææå°åå符.

ä¸äº UNIXå®ç° æ è¿ä¸ª å½çº³ä¸º: èå´ X-Y æ Xçç¼ç  å° Yçç¼ç  ä¹é´ç ç¼ç å- 符. 坿¯, è¿ è¦æ± ç¨æ· ç¥é ä»ä»¬ æ¬å°ç³»ç»ç å符ç¼ç , æ¤å¤, 妿 æ¬å°ç åæ¯è¡¨é¡ºåº å å符éé¡ºåº ä¸å¯¹åº, é£ å°± æ´ä¸æ¹ä¾¿äº.

å æ¤, POSIX 对 ééç¬¦æ¨¡æ¿ å æ£è§è¡¨è¾¾å¼ ç æ¹æ¬å¼§è¡¨è¾¾æ³ ä½äº é大æ©å±, ä¸é¢ æä»¬ ç¥éäº æ¹æ¬å¼§è¡¨è¾¾å¼ ä¸ ç ä¸ä¸ª ç±»å, å®ä»¬æ¯ (i) åè¡¥é (ii) ç´æ¥ååºç å个å符 å (iii) èå´é.

POSIX 对 èå´é å¨ å½éå æ¹é¢ ä½äº æ´æåç 说æ, å¹¶ä¸ å¢å äº ä¸ä¸ª ç±»å:

(iii) èå´ X-Y ç± X å Y ä¹é´ ææçå符 ç»æ (忬XåY), X å Y ç å½åç¼ç åºå ç± å½ååºåç LC_COLLATE åç±»å®ä¹.

(iv) å½åå符é, 象
[:alnum:] [:alpha:] [:blank:] [:cntrl:]
[:digit:] [:graph:] [:lower:] [:print:]
[:punct:] [:space:] [:upper:] [:xdigit:]
å æ¤ å¯ä»¥ ç¨ ’[[:lower:]]’ ä»£æ¿ ’[a-z]’, å® å¨ ä¸¹éº¦è¯ é åæ · ææ, è½ç¶ 丹麦ç åæ¯è¡¨ é ’z’ åé¢ è¿æ ä¸ä¸ª 忝. è¿äº å符é ç± å½ååºåç LC_CTYPE åç±»å®ä¹.

(v) 符å·å¯¹æ , 象 ’[.ch.]’ æ ’[.a-acute.]’, å¨ ’[.’ å ’.]’ ä¹é´ç å- 符串 æ¯ å®ä¹ å¨ å½ååºåç 对æ åç´ . 注æ è¿ å¯ä»¥ æ¯ å¤å符åç´ .

(vi) ç类表达å¼, 象 ’[=a=]’, å¨ ’[=’ å ’=]’ ä¹é´ç å符串 æ¯ ä»»æ ç- ç±» ä¸ ç 对æ åç´ , å® å®ä¹å¨ å½ååºå. ä¾å¦, ’[[=a=]]’ å¯ä»¥ çåäº ‘[a徿º»]’ (è¦å: è¿é æ Latin-1 å符), ä¹å°±æ¯ ‘[a[.a-acute.][.a-grave.][.a-umlaut.][.a-circumflex.]]’.

SEE ALSO

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

[䏿çç»´æ¤äºº]

徿 <xuming@iname.com>

[ä¸æçææ°æ´æ°]

2000/10/15 第ä¸ç
2001/11/17
ç¬¬ä¸æ¬¡ä¿®è®¢

ãä¸å½Linux论åmanæå页翻è¯è®¡åã

http://cmpp.linuxforum.net

è·

æ¬é¡µé¢ä¸æçç±ä¸æ man æå页计åæä¾ã
䏿 man æå页计åï¼https://github.com/man-pages-zh/manpages-zh