linux中如何对一个文本内容进行排序呢

linux中如何对一个文本内容进行排序呢,第1张

功能说明:将文本文件内容加以排序

语法:sort

[-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]

补充说明:sort可针对文本文件的内容,以行为单位来排序。

参数:

-b

忽略每行前面开始出的空格字符。

-c

检查文件是否已经按照顺序排序。

-d

排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

-f

排序时,将小写字母视为大写字母。

-i

排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

-m

将几个排序好的文件进行合并。

-M

将前面3个字母依照月份的缩写进行排序。

-n

依照数值的大小排序。

-o<输出文件>

将排序后的结果存入指定的文件。

-r

以相反的顺序来排序。

-t<分隔字符>

指定排序时所用的栏位分隔字符。

+<起始栏位>-<结束栏位>

以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

--help

显示帮助。

--version

显示版本信息

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

下面通过几个例子来讲述Sort的使用。

用Sort命令对text文件中各行排序后输出其结果。请注意,在原文件的第二、三行上的第一个单词完全相同,该命令将从它们的第二个单词vegetables与fruit的首字符处继续进行比较。

$

cat

text

vegetable

soup

fresh

vegetables

fresh

fruit

lowfat

milk

$

Sort

text

fresh

fruit

fresh

vegetables

lowfat

milk

vegetable

soup

用户可以保存排序后的文件内容,或把排序后的文件内容输出至打印机。下例中用户把排序后的文件内容保存到名为result的文件中。

$

Sort

text>result

以第2个字段作为排序关键字对文件example的内容进行排序。

$

Sort

+1-2

example

对于file1和file2文件内容反向排序,结果放在outfile中,利用第2个字段的第一个字符作为排序关键字。

$

Sort

-r

-o

outfile

+1.0

-1.1

example

Sort排序常用于在管道中与其他命令连用,组合完成比较复杂的功能,如利用管道将当前工作目录中的文件送给Sort进行排序,排序关键字是第6个至第8个字段。

$

ls

-

l

|

Sort

+5

-

7

$

ps

-e

-o

"

comm

pid

time"|Sort

-d

//按照command的首字母的字母顺序排序

Sort命令也可以对标准输入进行 *** 作。例如,如果您想把几个文件文本行合并,并对合并后的文本行进行排序,您可以首先用命令cat把多个文件合

并,然后用管道 *** 作把合并后的文本行输入给命令Sort,Sort命令将输出这些合并及排序后的文本行。在下面的例子中,文件veglist与文件

fruitlist的文本行经过合并与排序后被保存到文件clist中。

$

cat

veglist

fruitlist

|

Sort

>

clist

sort命令是对文件进行排序,并将排序的结果输出到屏幕,不影响原文件

以行为单位,将每一行作为一个单位,相互比较,比较原则是从首字符向后,以此按ASCII码进行比较,最后升序输出

参数

-b 忽略每行前面开始处的空格

-d 只按照英文字母,数字,空格字符排序,忽略其他字符

-m 将几个排序好的文件进行合并

-n 依照数值的大小进行排序,如果是按照数值大小排序一定要加 -n ,否则就会出现 10 比2 小的情况,因为默认比较数值是先比较第1位的,后面的位不考虑

-o 将排序好的结果输出到文件, 也可以使用重定向符号 输出到文件中

-r 以相反的顺序来排序, 默认是升序


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8684976.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存