彩世界开奖app官网-彩世界平台官方网址(彩票平台)
做最好的网站
来自 彩世界开奖app官网 2019-11-28 05:14 的文章
当前位置: 彩世界开奖app官网 > 彩世界开奖app官网 > 正文

Linux sort命令中文手册(info sort翻译)【彩世界开奖

如上几个指令是等价的。第三个指令内定了第一个key的POS1要不经意前导空白,且第四个key要依照数值排序。其它五个指令中,缺少选项的key将一而再全局选项。此处世袭之所以能正确职业,是因为"-k 5b,5b"和"-k 5b,5"是等价的。

故此,对于"-n"来讲,它相对不容许超越key的界线。但默许的排序准则会当先key起效果。)

自己商量给定文件是否已经排序过:假如检查实验出未排序,将出口确诊音讯并以状态码1退出,该确诊音讯中包罗第三个乱序的行。不然以打响景色退出。最四只可以给定贰个检验文件。

点名排序的key,即每行排序的前奏和小憩字段(若省略POS2,则结束地点为行尾)。

POS的格式为"F[.C][OPTS]",此中F表示字段的序号,C表示该字段中字符的序号。字段和字符的地点都从1早先揣度。假使POS2的字符地方钦点为0,则意味POS2字段中的最终二个字符。假诺POS第11中学总结".C",则暗许值为1(字段的前奏字符),假如POS2中简单".C",默许值为0(字段的停下字符)。OPTS为排序选项,那几个选取将覆盖全局选项,使得该key能够依据独立的排序选项进行排序。keys能够跨三个字段。
(注:OPTS钦点在POS1和POS2的成效是大同小异的,因为四个"-k"钦命三个key,无论是POS1还是POS第22中学的OPTS都以对这么些key有效,但"b"选项除此之外,见下文)

它好像于"-c",但不会输出确诊新闻。假诺文件已排序,则以成功景色退出,不然以状态码1退出。最五只可以给定一个文本。

(2).译文中,在括号中应用了"注"的,为自家所加,非原作内容,助于领会和说明。

'-c'
'--check'
'--check=diagnose-first'

将小写字符充任大写字符。比方,"b"和"B"是优良的。当和"-u"选项一齐使用时(注:重复的行只好输出一遍),这么些小写字符的等价行会被屏弃(注:也正是说,输出的是大写字符行)。(近日一贯不任何方法能够放弃大写字符的等价行,纵然使用"-r"也非常,因为在此外时,"-r"选项都只是反转最终的排序结果,不会影响排序进度。

'-f'
'--ignore-case'

亲自过问:为了排序第二个字段,使用"--key=2,2"(-k 2,2)。可使用"--debug"选项支持查看、深入分析和决定每行中被用于排序的字段。

(注:任曾几何时候,只想对某字段展开排序时,都建议显著钦赐其开场和竣事地点)

 

(3).本文的sort命令为CentOS 7.2上的,版本为sort (GNU coreutils) 8.22,有个别选项在CentOS 6上不协助,如"--debug"。

'-u'
'--unique'

例如设置了景况变量"TMPDIPRADO",sort将运用它看成有的时候目录并非默许的"/tmp"。"-T"选项将蒙蔽该景况变量设置的值。

平常景观下,"-u"将仅输出排序后重复行的首先行。该选项会禁绝"最终的排序"(注:见前文译文)。

sort -s -t '.' -n -k1 -k2 -k3 -k4

"-k"钦定的key后边能够钦命"bfhgnr"等选取,这种气象下,该key将不会持续全局选项。除了"b"选项,全部的选项都意义于意气风发体key,无论该采用是写在POS1仍旧POS2上。假若钦点了"b"选项,它仅独立成效于POS1或POS2上,但假使继续了全局的"-b",则会效能于一切key上。如若输入行中包蕴了前导空白字符,且尚未动用"-t"选项,"-k"平常会组成"-b"或某个含有了忽视前导空白字符的拈轻怕重(ghn)一齐利用,不然前导空白字符或许会招致划分的字段特别混乱。

echo -e "b 100:200 200na 110 300" | tr ':' '\0'|sort -t ' ' -k2n -k1

7.1 'sort': Sort text files

为了思索可移植性,提议将全局选项内定在"-k"(或"--key")的方今。

'-m'
'--merge'

"cat file1 | sort -m -o file1 -"

(5).sort命令完整的运用办法:文本排序的王者:玩透sort命令。

'-o OUTPUT-FILE'
'--output=OUTPUT-FILE'

4.150.156.3 - - [01/Apr/2004:06:31:51 0000] message 1
211.24.3.231 - - [24/Apr/2004:20:17:39 0000] message 2

sort有3种操作格局:排序(暗许)、合併甚至检查是否已经排过序。使用以下3个筛选退换操作形式:

'-n'
'--numeric-sort'
'--sort=numeric'

sort [OPTION]... [FILE]...

  • 对/etc/passwd文件的第5字段排序,并忽视前导空白。假诺第5字段排序结果格外,则更进一层按数值对第3字段的uid举办排序。字段分隔符为":"。

    sort -t : -k 5b,5 -k 3,3n /etc/passwd sort -t : -n -k 5b,5 -k 3,3 /etc/passwd sort -t : -b -k 5,5 -k 3,3n /etc/passwd

'-z'
'--zero-terminated'

对文件大小格式进行排序。首先对正负性排序(正数>0>负数),再对大小后缀排序(0<k=K<M<G<T...),末了对数值排序。它无所谓调换精度是1000依然1024,因为它总会自动不断扩展到最相近的后缀(注:比方999M和1G相比较时将以1000看作调换工作,1023M和1G相比较时将以1024用作转跳槽)。


0 未有其他错误产生时
1 假如"-c"或"-C"检查评定发掘输入数据未排序时
2 发生了错误时

  • 对一异彩纷呈日志文件进行排序,主排序key为IPv4,副排序key为时间戳。如若两行的主、副key都别无二致,则依据文件被读取时的周旋顺序输出。日志文件饱含的行格式大约如下:

设若POS中钦赐的字段或字符地点超出了行尾或字段,则该key为空。假设内定了"-b"选项,".C"部分将从字段的第多个非空白字符开头推断。

安装sort运维的并行线程数为N。默许N设置为可收获的cpu个数,但最大面积为8,因为超越8随后带给的习性收益依次减少。

将排序的出口结果写入到OUTPUT-FILE中。经常的话,sort在开辟OUTPUT-FILE前读取完全体输入,因而得以高枕而卧地将排序结果保存到输入文件中,有如"sort -o file1 file1"和"cat file1 | sort -o file1"相似。可是,"-m"选项会在读取输入前先开拓输出文件,由此下边包车型地铁言语是不安全的言辞:

使用"\0"分割每行并非行使换行符。

(注:数值排序和暗中认可的排序准绳所不一样的是,当key中蒙受非数学字符时,如空白、字母、特殊字符等,将一贯结束排序(在sort内部以为找不到相称值)。相当于说,"-k 2"和"-k 2n"分歧,即使那四个key都会增到行尾,前者会从第三个字段一向按字符集顺序相比到行尾,而后人可能只对第2字段相称,因为第二字段和第三字段中间可能有特殊符号,引致数值排序间接结束。

'-C'
'--check=quiet'
'--check=silent'

唯有分明钦定,不然持有的相比较都根据"LC_COLLATE"内定的字符集的排序法则实行排序。

该示例不可能仅使用几个sort语句实现,因为IPV4地址须要运用"."分隔,而时间戳供给运用空格分隔。因此,使用三个sort语句:第贰个sort语句依照时间戳排序,第一个语句遵照IPV4排序。第贰个sort命令中运用"-k"将每一种字段进行隔离,先依据年排序,再根据月份排序,接着是日,最后对"时:分:秒"排序。除了"时:分:秒"那个key,其余的key都没需求钦赐key的竣事地方,因为"n"和"M"选项作用范围不能跨域每一种key的左臂界。第3个sort命令是对ipv4地址依据字典顺序排序的。第叁个sort语句中运用了"-s"选项,以幸免主排序key的关联被副排序key破坏,第三个sort语句中动用"-s"选项是为了确认保障多少个sort语句在"-s"属性上的生机勃勃致性。

(1).本手册只选用了info sort中央银行之有效的音信实行翻译,如要查看完完整整的从头到尾的经过,请自行info sort。

专一,假诺写的是"-k 2n"实际不是"-k 2,2n",该key将从第二字段直接扩充到行尾,那是主排序key,而副排序key"-k 5.3,5.4"在主排序key的排序幼功上再依照字母排序。绝大相当多气象下,让key向后扩充学一年级般不是所希望的行事。

以下选项影响排序的出口结果。它们不只能够钦点为全局选项,也得以看做key的一片段。假若未钦定任何key,则全局选项将成效于整行,不然钦定的key将延续全局选项,除非key自己也钦点了接受(注:本人钦定了接受的key将覆盖全局选项)。

' 突显每行中用来排序的风华正茂部分。还恐怕会给出额外的音信。

'-r'
'--reverse'

sort -t : -k 5n -k 2

'-t SEPARATOR'
'--field-separator=SEPARATOR'

'--parallel=N'

'--debug'

 

'-k POS1[,POS2]'
'--keys=POS1[,POS2]'

'-b'
'--ignore-leading-blanks'

退出状态码:

当在每行中找出key的时候,使用SEPARATO福特Explorer字符作为字段的分隔符。暗中同意情况下,字段是由空白字符和非空白字符之间的空字符串分割而来的。

由此,要是输入行为" foo bar",私下认可将切分为多个字段" foo"和" bar",(注:空白和非空白字符之间的空字符为行初始和"oo"后的地点)。字段分隔符不是相隔后字段中的内容,因而"sort -t ' '"对" foo bar"分隔时,将划分为3个字段:空字段、"foo"和"bar"。不过,各样独立的字段都以扩充到行结尾的,好似"-k 2",或像"-k 2,3"包括了节制的字段,它们都在扩大的时候保留字段分隔符。
(注:以sort -t ' '为例,"-k 2"实际上意味着的是"foo bar",它扩张到行尾,且中间的字段分隔符被封存。而"-k 1,2"实际上意味着的是" foo",因为料定钦定了这一个key到第二个字段甘休,但中间的字段分隔符仍保留)
借使要钦定字段分隔符为空,则运用"\0",例如"sort -t '\0'"。

按字符格式的月份进行排序。
An initial string, consisting of any amount of blanks, followed by a month name abbreviation, is folded to UPPER case and compared in the order 'JAN' < 'FEB' < ... < 'DEC'. Invalid names compare low to valid names.

以下是某个演示,用于声明差别选项的构成使用:

sort -t : -k 2 -k 5.3,5.4n
sort -t : -k 2,2 -k 5.3,5.4n

大意key的引路空白符号(包涵空格、制表符)。不给定该选用时,空白符号对"-k"选项钦点字符地方有震慑(注:举例"-k 2.2"内定的第3个字符或者是空白)。

'-s'
'--stable'

利用单个空格能够确切分割这一个字段。IPV4地址列依据字典顺序排序,举例212.61.52.2低于212.129.233.201,因为61低于129。

(注:由于n选项不或然胜过key边界和非数学字符,因而地点第一个sort命令和底下的指令是等价的:)

'-h'
'--human-numeric-sort'
'--sort=human-numeric'

禁绝sort施行"最后的排序"。在未曾点名字段选项或全局选项时,该选用将不起作用,除非钦定的是"-r"选项。
(注:最终的排序:在key的相比较结实相像时,sort的末梢手腕是对整行再开展一次完全默许的排序,即依照字母、升序对整行做最终排序。那名为"最终的排序"。要是未钦定任何选拔,其本人正是完全暗许的,由此没供给再做最后的排序。假使钦定的是"-r"选项,由于"-r"是对最终结出举办反转排序,由此会影响这一次的"最终的排序"的结果)

联合八个文件,每一种输入文件必需已经排序。合併时将依赖已排序的结果合併为种种组。sort平日都用于排序,但仍旧提供统后生可畏功效,因为它的统意气风发速度超级快。

"sort -u"和"sort | uniq"是等价的,但扩展了越来越多选项后将大概不等价,举例,"sort -n -u"只会检查数值部分的唯意气风发性,但"sort -n | uniq"在sort对行的数值排序后,uniq将检查整个行的唯大器晚成性。

  •  按数值排序,并降序(reverse)

    sort -n -r

  •  按字母排序,忽略第后生可畏和第二字段,且忽视第三字段的引导空白。此处使用了单个key,该key从第三字段非空白字符最初,一贯增至行的末尾。这一全方位key都接受字母排序。

    sort -k 3b

  • 对第二字段按数值排序,并透过点名第五字段的第3、4字符间按字母排序来消释按数值排序的准则。使用":"作为字段分隔符。

    sort -t : -k 2,2n -k 5.3,5.4

sort排序法规为:根据指令行中给定的字段顺序对给定的字段举办排序,排序时根据为各类字段分配的排序选项举办排序,直到开采分歧的排序选项可能排类别甘休。若无给定排序key(注:key即为-k钦定的值),则对整行进行排序。最后,借使持有给定的key的相比结实都分外时,将对整行举办完全私下认可的排序(注:即以字母升序排序),但"-r"可以改换本次的升、降序结果。此番排序称为"最终的排序"。使用"-s"选项可以禁止"最终的排序",使得那个排序结果相像的行保留最早的相对顺序。"-u"选项相仿也会防止"最终的排序"。

还需注意,"n"选项功能范围为第贰个key。这等价于"-k 2n,2"或"-k 2n,2n"。全部的修饰符,除了"-b",无论写在pos1照旧pos2,都会功效于全体key。

===========================

 

本人译作集结:http://www.cnblogs.com/f-ck-need-u/p/7048359.html

(注:由于n选项不能够超出key,由此地点就是写成了"-k 2n"也是等价的,但上边五个指令则不等同:

语法:

反转比较的结果,使得结果中更加大的key更早出现。(注:"-r"不会转移排序行为,而是将排序结束后的出口结果开展反转管理,因而只影响排序截至后的输出结果)

'-M'
'--month-sort'
'--sort=month'

sort命令用于排序、合并或比较给定文件(可给定多少个)的兼具行,若无给定输入文件或输入文件为"-",则读取标准输入。暗中认可情状下,sort将操作结果打印在正规输出中。

之所以,对于"abc 100 200"那样的输入,借使字段分隔符为空格,当钦点"-k 2n"时,该key为"100 200",但鉴于中等含有了空荡荡,使得该key的排序在第二字段就结束。若是是"abc 100\0200 200","-k 2n"在排序时,即使看起来是100200,但却只对100开展排序,也正是说,要是此时另有少年老成行第2字段值为110,看上去非常的大的100200将小于110。测验语句:

说明:

出于暗中同意的字符集排序法规会当先key,第一条命令中主key从第2字段开头,直到行尾结束,于是会先对任何key按字符排序,然后在这里幼功上再对副key按数值排序。
再如下边包车型客车例子:尽管主key的字段在副key的字段前面,副key由于是做字符集排序,所以仍会抢先主key。)

(4).在没搞懂sort管理字段和排序机制时,刚烈提议不要看man sort。

按数值排序。空字符串""或"\0"被作为无。数值排序是规范排序,不会四舍五入后排序。

sort -s -t ' ' -k 4.9n -k 4.5M -k 4.2n -k 4.14,4.21 file*.log |
sort -s -t '.' -k 1,1n -k 2,2n -k 3,3n -k 4,4n

本文由彩世界开奖app官网发布于彩世界开奖app官网,转载请注明出处:Linux sort命令中文手册(info sort翻译)【彩世界开奖

关键词: