这个是神码意思?grep '^[:alpha:]'
- 13378333
- 帖子: 322
- 注册时间: 2012-05-31 12:00
这个是神码意思?grep '^[:alpha:]'
grep '^[:alpha:]'
- cnkilior
- 论坛版主
- 帖子: 4984
- 注册时间: 2007-08-05 17:40
- 13378333
- 帖子: 322
- 注册时间: 2012-05-31 12:00
Re: 这个是神码意思?grep '^[:alpha:]'
alpha表示字母吗?还是:alpha:表示字母?cnkilior 写了:字幕开头

-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
Re: 这个是神码意思?grep '^[:alpha:]'
以下摘录自grep(1),版权由manpage指定。
代码: 全选
Character Classes and Bracket Expressions
A bracket expression is a list of characters enclosed by [ and ]. It
matches any single character in that list; if the first character of the
list is the caret ^ then it matches any character not in the list. For
example, the regular expression [0123456789] matches any single digit.
Within a bracket expression, a range expression consists of two characters
separated by a hyphen. It matches any single character that sorts between
the two characters, inclusive, using the locale's collating sequence and
character set. For example, in the default C locale, [a-d] is equivalent
to [abcd]. Many locales sort characters in dictionary order, and in these
locales [a-d] is typically not equivalent to [abcd]; it might be equivalent
to [aBbCcDd], for example. To obtain the traditional interpretation of
bracket expressions, you can use the C locale by setting the LC_ALL
environment variable to the value C.
Finally, certain named classes of characters are predefined within bracket
expressions, as follows. Their names are self explanatory, and they are
[:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:],
[:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example,
[[:alnum:]] means the character class of numbers and letters in the current
locale. In the C locale and ASCII character set encoding, this is the same
as [0-9A-Za-z]. (Note that the brackets in these class names are part of
the symbolic names, and must be included in addition to the brackets
delimiting the bracket expression.) Most meta-characters lose their
special meaning inside bracket expressions. To include a literal ] place
it first in the list. Similarly, to include a literal ^ place it anywhere
but first. Finally, to include a literal - place it last.
代码: 全选
] ls -ld //
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
Re: 这个是神码意思?grep '^[:alpha:]'
代码: 全选
● /bin/grep '^[:alpha:]' <<< 'ls'
/bin/grep: 字符类的语法是 [[:space:]],而非 [:space:]
代码: 全选
] ls -ld //
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 这个是神码意思?grep '^[:alpha:]'
[:alpha:] 就是其中那几个字符的或……POSIX 风格的字符类是放在字符类 [] 中的 [:name:],不用两层 [] 会有二义性。
- 13378333
- 帖子: 322
- 注册时间: 2012-05-31 12:00
Re: 这个是神码意思?grep '^[:alpha:]'
试了下 [:alnum:], [:alpha:],好像都可以的样子tusooa 写了:以下摘录自grep(1),版权由manpage指定。代码: 全选
Character Classes and Bracket Expressions A bracket expression is a list of characters enclosed by [ and ]. It matches any single character in that list; if the first character of the list is the caret ^ then it matches any character not in the list. For example, the regular expression [0123456789] matches any single digit. Within a bracket expression, a range expression consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive, using the locale's collating sequence and character set. For example, in the default C locale, [a-d] is equivalent to [abcd]. Many locales sort characters in dictionary order, and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for example. To obtain the traditional interpretation of bracket expressions, you can use the C locale by setting the LC_ALL environment variable to the value C. Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example, [[:alnum:]] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as [0-9A-Za-z]. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.) Most meta-characters lose their special meaning inside bracket expressions. To include a literal ] place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal - place it last.
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
Re: 这个是神码意思?grep '^[:alpha:]'
是[[]]13378333 写了:试了下 [:alnum:], [:alpha:],好像都可以的样子tusooa 写了:以下摘录自grep(1),版权由manpage指定。代码: 全选
Character Classes and Bracket Expressions A bracket expression is a list of characters enclosed by [ and ]. It matches any single character in that list; if the first character of the list is the caret ^ then it matches any character not in the list. For example, the regular expression [0123456789] matches any single digit. Within a bracket expression, a range expression consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive, using the locale's collating sequence and character set. For example, in the default C locale, [a-d] is equivalent to [abcd]. Many locales sort characters in dictionary order, and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for example. To obtain the traditional interpretation of bracket expressions, you can use the C locale by setting the LC_ALL environment variable to the value C. Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example, [[:alnum:]] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as [0-9A-Za-z]. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.) Most meta-characters lose their special meaning inside bracket expressions. To include a literal ] place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal - place it last.
代码: 全选
] ls -ld //