使用空列排序管道分隔文件

时间:2014-12-19 16:40:39

标签: linux sorting unix

我在使用sort时遇到问题,我认为这是由于我正在排序的列之前的空列。我对文件sort -n -t'|' -k4 testme -o testedsort进行了排序,这里是testssort的输出

N|N||+006422931|+000359029|OVERLAY 
N|N|A|+000000020|+000000000|580    
N|N|A|+000000020|+000000020|705    
N|N|A|+000008035|+000000000|800    
N|N|A|+000009701|+000000000|723    
N|N|A.|+000009701|+001569434|742   
N|N|A|+000009701|+001569434|742    
N|N|A|+000013723|+000000000|DLORGN 
N|N|A|+000020963|+000000020|729    
N|N|A|+000022110|+004066830|GRANT  

看起来除了第一条记录外,一切都很好,唯一特别的是我们有一个空列。有没有人看过这个,有没有关于如何解决这个问题的建议?

1 个答案:

答案 0 :(得分:5)

要解决的两件事

  1. 假设您希望仅按第四个字段排序,请将排序键指定为-k4,4
  2. 要处理领先的+登录号码,请使用-g代替-n(可能是GNU sort - 具体)

    sort -k4,4g -t'|' testme -o testedsort