linux按照指定列对文件排序

(2010-02-25 10:33:17)

参考:http://www.justwinit.cn/post/3908/

 

sort如何按指定的列排序

0000            27189           41925425
065f            15              41925425
0663                          41925425
0675                          41925425
0691            76              41925425
0693                          41925425
06a7            82              41925425
06a9            58              41925425
06bf            68              41925425
06c1            56              41925425
06d7            145             41925425
06e1            127             41925425
06e3            230             41925425
06e5                          41925425
06ef            48              41925425
06f1            463             41925425
06ff            3847            41925425
070b            2376            41925425
070d            3408            41925425
0713            109025          41925425
0715                          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.

请向 <bug-coreutils@gnu.org> 报告错误。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐