分别使用shell和python实现两列排序

有一个文件1.txt如下,要求使用shell和python实现排序,先按照第一列排序,第一列相同再按照第二列排序,并且输出到另外一个文件2.txt

LZdeMacBook-Pro:~ lz$ cat 1.txt

23 d

26 t

12 y

43 h

5 k

12 a

shell实现:

LZdeMacBook-Pro:~ lz$ sort  -k1,1n -k2,2 1.txt > 2.txt

LZdeMacBook-Pro:~ lz$ cat 2.txt

5 k

12 a

12 y

23 d

26 t

43 h

python实现:

sort_lines = sorted(open("1.txt"),key=lambda l:(int(l.split(" ")[0]),l.split(" ")[1]))

open("2.txt","w").write("".join(sort_lines))

 

posted @ 2017-06-28 11:19  joangaga  阅读(1230)  评论(0编辑  收藏  举报