2010-06-24 4 views
8

오름차순으로 전체 파일을 재정리하고 싶습니다.파일을 오름차순 (열)으로 재정렬하려면 어떻게해야합니까?

file.txt를은 다음과 같습니다

a 12.24 text 

a 1.45 text 

b 5.12 text 

나는 같이 그것을 싶습니다

a 1.45 text 

b 5.12 text 

a 12.24 text 
+0

왜 파이썬을 사용할 수있을 때 awk를 사용합니까? 또한 24 시간 형식입니까? –

+1

Python 2.6에서이 one-liner를 사용해 보자 : open (r'temp2.txt ','w '). : float (line.split() [1]))) –

답변

7

사용 sort 리눅스 프로그램이 아닌 awk. 정확히 :

sort -n -k 2 <filename> 
+1

명확히하기 위해 -n과 -g의 차이점을 여기에 설명합니다. http://stackoverflow.com/questions/1255782/whats-the-difference-between- 일반 숫자 정렬 및 숫자 정렬 옵션 - i. – mbq

+0

시간은 24 시간 형식으로 가정합니다. – Costa

15

sort 명령은 awk 이상의 요구 사항이 더 적합 할 수있다.

# sort -gk 2 test.txt 
a 1.45 text 
b 5.12 text 
a 12.24 text 

-g 숫자 대신 문자열로 비교합니다. -k 2은 두 번째 열을 정렬합니다.

+0

시간은 24 시간 형식으로 가정합니다. – Costa

+0

2 개의 행이 같은 시간을 가질 수있는 경우,'-k2'는 전체 행을 비교하여 그것들을 소트합니다. '-s'를 추가하면이 quirk이 꺼집니다. – hemflit

관련 문제