sort如何按指定的列排序,linux按照指定列对文件排序

linux按照指定列对文件排序

 

 

sort如何按指定的列排序

0000            27189           41925425
065f            15              41925425
0663            7               41925425
0675            5               41925425
0691            76              41925425
0693            2               41925425
06a7            82              41925425
06a9            58              41925425
06bf            68              41925425
06c1            56              41925425
06d7            145             41925425
06e1            127             41925425
06e3            230             41925425
06e5            7               41925425
06ef            48              41925425
06f1            463             41925425
06ff            3847            41925425
070b            2376            41925425
070d            3408            41925425
0713            109025          41925425
0715            4               41925425
0726            134             41925425
我想按第二列值进行排序,从大到小的顺序。
看了下man,还是不大明白,还请大家指点一二。

 

答案:sort -n -k2 file.txt 或则sort -g -k2 file.txt(从小到大排序)

-n, --numeric-sort         

 -g, --general-numeric-sort 

 sort -rn -k2 all_contig.txt (加-r从大到小排序)

 


用法:sort [选项]... [文件]...
Write sorted concatenation of all FILE(s) to standard output.

长选项必须用的参数在使用短选项时也是必须的。
顺序选项:

  -b, --ignore-leading-blanks  ignore leading blanks
  -d, --dictionary-order      consider only blanks and alphanumeric characters
  -f, --ignore-case           fold lower case to upper case characters
  -g, --general-numeric-sort  compare according to general numerical value
  -i, --ignore-nonprinting    consider only printable characters
  -M, --month-sort            compare (unknown) < `JAN' < ... < `DEC'
  -n, --numeric-sort          compare according to string numerical value
  -r, --reverse               reverse the result of comparisons

Other options:

  -c, --check               check whether input is sorted; do not sort
  -k, --key=POS1[,POS2]     start a key at POS1, end it at POS2 (origin 1)
  -m, --merge               merge already sorted files; do not sort
  -o, --output=FILE         write result to FILE instead of standard output
  -s, --stable              stabilize sort by disabling last-resort comparison
  -S, --buffer-size=SIZE    use SIZE for main memory buffer
  -t, --field-separator=SEP  use SEP instead of non-blank to blank transition
  -T, --temporary-directory=DIR  use DIR for temporaries, not $TMPDIR or /tmp;
                              multiple options specify multiple directories
  -u, --unique              with -c, check for strict ordering;
                              without -c, output only the first of an equal run
  -z, --zero-terminated     end lines with 0 byte, not newline
      --help     显示此帮助信息并退出
      --version  输出版本信息并退出

POS is F[.C][OPTS], where F is the field number and C the character position
in the field.  OPTS is one or more single-letter ordering options, which
override global ordering options for that key.  If no key is given, use the
entire line as the key.

SIZE may be followed by the following multiplicative suffixes:
% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.

With no FILE, or when FILE is -, read standard input.

*** WARNING ***
The locale specified by the environment affects sort order.
Set LC_ALL=C to get the traditional sort order that uses
native byte values.
 

转载于:https://my.oschina.net/iioschina/blog/797962

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linuxsort命令可以通过指定来进行排序。具体方法是使用“-k”选项,后面跟上要排序数或范围。例如,如果要按第二进行排序,可以使用以下命令: sort -k 2 filename 如果要按第二和第三进行排序,可以使用以下命令: sort -k 2,3 filename 其中,“filename”是要排序文件名。 ### 回答2: Linux系统中的sort命令是一款十分强大的文本排序工具。它可以快速地将一个文本文件中的内容按照指定进行排序,使得用户能够更方便快捷地查找和处理数据。具体而言,sort命令可以使用以下参数来指定排序: 1. -k start[,end]: 指定需要排序的起始位置和结束位置。例如,“sort -k 2,4 file.txt”将按照文本文件file.txt中第二到第四的内容进行排序。 2. -n: 指定以数字形式排序。此时,sort命令会将每个中的字符串转换为数字,然后进行比较。例如,“sort -n -k 2 file.txt”将按照文本文件file.txt中第二的数值大小进行排序。 3. -r: 指定逆序排序。此时,sort命令会将文本文件的内容按照指定进行降序排。例如,“sort -r -k 3 file.txt”将按照文本文件file.txt中第三的内容进行逆序排序。 使用sort命令指定进行排序,可以大大提高数据的查找和处理效率。用户可以根据自己的需求,灵活运用sort命令的各种参数,实现对文件内容的定制化排序。同时,sort命令还可以与其他Linux命令结合使用,如grep、cut、awk等,使得数据处理更加便捷。 ### 回答3: Linuxsort指定排序是一种非常常用的命令行排序方式,通过该命令可以快速的按照指定列对文本文件中的数据进行排序。在Linux系统中使用sort命令,可以根据行、、字段等多种不同的排序方式进行排序。其中,指定排序是指按照文本文件中的某一列进行排序,这种排序方式可以对一些特殊的文本文件进行排序,使得排序结果更为准确和有序。 在指定排序中,需要使用`-k`参数指定排序数或范围,该参数后面需要指定的编号或范围,例如使用`-k 2`表示按照第2排序,使用`-k 2,3`表示按照第2和第3排序。在指定号时,需要注意文本文件的分隔符,通常情况下,单个空格或制表符是分隔符,可以使用`-t`参数来指定分隔符。另外,可以使用`-r`参数来进行倒序排,使用`-n`参数来进行数字排序。 以下是一个例子: 假设有一个文件test.txt,内容如下: ``` A 23 31 B 5 24 C 37 16 D 10 12 ``` 要按照第二进行升序排序,可以使用以下命令: ``` sort -k 2 test.txt ``` 排序结果如下: ``` B 5 24 D 10 12 A 23 31 C 37 16 ``` 要按照第二进行降序排序,可以使用以下命令: ``` sort -k 2 -r test.txt ``` 排序结果如下: ``` C 37 16 A 23 31 D 10 12 B 5 24 ``` 总之,指定排序Linux系统中非常实用和常用的排序方式,可以对特定的文本文件进行分类和整理,提高文件的可读性和使用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值