|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!sort下令是帮我们根据分歧的数据范例举行排序,其语法及经常使用参数格局:
sort[-bcfMnrtk][源文件][-o输入文件]
增补申明:sort可针对文本文件的内容,以举动单元来排序。
参 数:
-b疏忽每行后面入手下手出的空格字符。
-c反省文件是不是已依照按次排序。
-f排序时,疏忽巨细写字母。
-M将后面3个字母按照月份的缩写举行排序。
-n按照数值的巨细排序。
-o<输入文件>将排序后的了局存进指定的文件。
-r以相反的按次来排序。
-t<分开字符>指定排序时所用的栏位分开字符。
-k选择以哪一个区间举行排序。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上面经由过程几个例子来说述Sort的利用。
(1)sort将文件的每行作为一个单元,互相对照,对照准绳是从首字符向后,顺次按ASCII码值举行对照,最初将他们按升序输入。
[rocrocket@rocrocketprogramming]$catseq.txt
banana
apple
pear
orange
[rocrocket@rocrocketprogramming]$sortseq.txt
apple
banana
orange
pear
用户能够保留排序后的文件内容,或把排序后的文件内容输入至打印机。下例顶用户把排序后的文件内容保留到名为result的文件中。
$Sortseq.txt>result
(2)sort的-u选项
它的感化很复杂,就是在输入行中往除反复行。
[rocrocket@rocrocketprogramming]$catseq.txt
banana
apple
pear
orange
pear
[rocrocket@rocrocketprogramming]$sortseq.txt
apple
banana
orange
pear
pear
[rocrocket@rocrocketprogramming]$sort-useq.txt
apple
banana
orange
pear
pear因为反复被-u选项无情的删除。
(3)sort的-r选项
sort默许的排序体例是升序,假如想改成降序,就加个-r就弄定了。
[rocrocket@rocrocketprogramming]$catnumber.txt
1
3
5
2
4
[rocrocket@rocrocketprogramming]$sortnumber.txt
1
2
3
4
5
[rocrocket@rocrocketprogramming]$sort-rnumber.txt
5
4
3
2
1
(5)sort的-o选项
因为sort默许是把了局输入到尺度输入,以是必要用重定向才干将了局写进文件,形如sortfilename>newfile。
可是,假如你想把排序了局输入到原文件中,用重定向可就不可了。
[rocrocket@rocrocketprogramming]$sort-rnumber.txt>number.txt
[rocrocket@rocrocketprogramming]$catnumber.txt
[rocrocket@rocrocketprogramming]$
看,居然将number清空了。
就在这个时分,-o选项呈现了,它乐成的办理了这个成绩,让你宁神的将了局写进原文件。这也许也是-o比重定向的独一上风地点。
[rocrocket@rocrocketprogramming]$catnumber.txt
1
3
5
2
4
[rocrocket@rocrocketprogramming]$sort-rnumber.txt-onumber.txt
[rocrocket@rocrocketprogramming]$catnumber.txt
5
4
3
2
1
(6)sort的-n选项
你有无碰到过10比2小的情形。我归正碰到过。呈现这类情形是因为排序步伐将这些数字按字符来排序了,排序步伐会先对照1和2,明显1小,以是就将10放在2后面喽。这也是sort的一向风格。
我们假如想改动这类近况,就要利用-n选项,来告知sort,“要以数值来排序”!
[rocrocket@rocrocketprogramming]$catnumber.txt
1
10
19
11
2
5
[rocrocket@rocrocketprogramming]$sortnumber.txt
1
10
11
19
2
5
[rocrocket@rocrocketprogramming]$sort-nnumber.txt
1
2
5
10
11
19
(7)sort的-t选项和-k选项
假如有一个文件的内容是如许:
[rocrocket@rocrocketprogramming]$catfacebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
这个文件有三列,列与列之间用冒号离隔了,第一列暗示生果范例,第二列暗示生果数目,第三列暗示生果代价。那末我想以生果数目来排序,也就是以第二列来排序,怎样使用sort完成?幸亏,sort供应了-t选项,前面能够设定距离符。指定了距离符以后,就能够用-k来指定列数了。
[rocrocket@rocrocketprogramming]$sort-n-k2-t‘:’facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3
(8)其他的sort经常使用选项
-f会将小写字母都转换为年夜写字母来举行对照,亦即疏忽巨细写
-c会反省文件是不是已排好序,假如乱序,则输入第一个乱序的行的相干信息,最初前往1
-C会反省文件是不是已排好序,假如乱序,不输入内容,仅前往1
-M会以月份来排序,好比JAN小于FEB等等
-b会疏忽每行后面的一切空缺局部,从第一个可见字符入手下手对照。
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们! |
|