Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

sort 指定排序域的两种方法

Posted on 2010-05-12 14:12 Prayer 阅读(638) 评论(0)  编辑 收藏 引用 所属分类: Shell

       The -k KeyDefinition flag uses the following form:

       -k [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]

       The sort key includes all characters beginning with the field specified by the FStart variable and the column specified by
       the CStart variable and ending with the field specified by the FEnd variable and the column specified by the CEnd variable.
       If Fend is not specified, the last character of the line is assumed. If CEnd is not specified the last character in the
       FEnd field is assumed. Any field or column number in the KeyDefinition variable may be omitted. The default values are:
       FStart
            Beginning of the line
       CStart
            First column in the field

       FEnd
            End of the line
       CEnd
            Last column of the field

       If there is any spaces between the fields, sort considers them as separate fields.

       The value of the Modifier variable can be one or more of the letters b, d, f, i, n, or r. The modifiers apply only to the
       field definition they are attached to and have the same effect as the flag of the same letter. The modifier letter b
       applies only to the end of the field definition to which it is attached. For example:

       -k 3.2b,3r

       specifies a sort key beginning in the second nonblank column of the third field and extending to the end of the third
       field, with the sort on this key to be done in reverse collation order. If the FStart variable and the CStart variable fall
       beyond the end of the line or after the FEnd variable and the CEnd variable, then the sort key is ignored.

       A sort key can also be specified in the following manner:

       [+[FSkip1] [.CSkip1] [Modifier] ] [-[FSkip2] [.CSkip2] [Modifier]]

       The +FSkip1 variable specifies the number of fields skipped to reach the first field of the sort key and the +CSkip
       variable specifies the number of columns skipped within that field to reach the first character in the sort key. The -FSkip
       variable specifies the number of fields skipped to reach the first character after the sort key, and the -CSkip variable
       specifies the number of columns to skip within that field. Any of the field and column skip counts may be omitted. The
       defaults are:

       FSkip1
            Beginning of the line
       CSkip1
            Zero
       FSkip2
            End of the line
       CSkip2
            Zero

       The modifiers specified by the Modifier variable are the same as in the -k flag key sort definition.

       The field and column numbers specified by +FSkip1.CSkip1 variables are generally one less than the field and column number
       of the sort key itself because these variables specify how many fields and columns to skip before reaching the sort key.
       For example:

       +2.1b -3r

       specifies a sort key beginning in the second nonblank column of the third field and extending to the end of the third
       field, with the sort on this key to be done in reverse collation order. The statement +2.1b specifies that two fields are
       skipped and then the leading blanks and one more column are skipped. If the +FSkip1.CSkip1 variables fall beyond the end of

       the line or after the -FSkip2.CSkip2 variables, then the sort key is ignored.

       Note: The maximum number of fields on a line is 10.


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理