如何使用默认参数的linux排序对所有列进行排序?

时间:2017-07-24 15:19:56

标签: algorithm shell sorting

我需要按所有列对文件进行排序。输入文件(test.txt)是:

AC187157.4_FG005        x       AC148167.6_FG001        mt_CE   test    -
AC187157.4_FG005        x       AC148167.6_FG001        mt      test    -
AC187157.4_FG005        x       AC177833.2_FG001        mt      test    -
AC187157.4_FG005        x       AC183888.4_FG006        mt      test    -
AC187157.4_FG005        x       AC185265.3_FG003        mt      test    -
AC187157.4_FG005        x       AC185443.3_FG004        mt      test    -
AC187157.4_FG005        x       AC186164.3_FG001        mt      test    -
AC187157.4_FG005        x       AC186583.3_FG004        mt      test    -
AC187157.4_FG005        x       AC187903.3_FG004        mt      test    -
AC187157.4_FG005        x       AC192367.2_FG002        mt_CE   test    -

当我使用cat test.txt | sort直接对其进行排序时,我得到了:

AC187157.4_FG005        x       AC148167.6_FG001        mt_CE   test    -
AC187157.4_FG005        x       AC148167.6_FG001        mt      test    -
AC187157.4_FG005        x       AC177833.2_FG001        mt      test    -
AC187157.4_FG005        x       AC183888.4_FG006        mt      test    -
AC187157.4_FG005        x       AC185265.3_FG003        mt      test    -
AC187157.4_FG005        x       AC185443.3_FG004        mt      test    -
AC187157.4_FG005        x       AC186164.3_FG001        mt      test    -
AC187157.4_FG005        x       AC186583.3_FG004        mt      test    -
AC187157.4_FG005        x       AC187903.3_FG004        mt      test    -
AC187157.4_FG005        x       AC192367.2_FG002        mt_CE   test    -

但是我们可以发现前两行中的第4列没有排序。

sortsort -k 1,1 -k 2,2 -k 3,3 -k 4,4 -k 5,5 -k 6,6之间的区别是什么?以及如何使用默认参数对所有列进行排序?

0 个答案:

没有答案