| [ CnUnix ] in KIDS 글 쓴 이(By): homer (simpson) 날 짜 (Date): 2002년 10월 17일 목요일 오후 02시 19분 21초 제 목(Title): Re: sort 문제 질문: 만만할까요? dat에 +1_1 -2_1 1_1 0 1 +1 -2 -3_2 2 -3 2_1 -3_1 3 +2 +2_1 +1_2 +3 이렇게 들어 있다고 할때, - 먼저, 그 다음에 아무 부호도 없는것, 그 다음에 +부호 순으로 정열해야하는게 제일 까다로운 부분인것 같습니다. 하지만 방법은 있죠. 아래를 참조. sed -e "s/^[0-9]/5\ &/" dat \ | sed -e "s/^-/0\ &/" \ | sed -e "s/^+/9\ &/" \ | awk -F_ '{print $1"."$2}' \ | sort -n +0 +1 +2 \ | sed "s/\.$//" \ | sed "s/\./_/" \ | awk '{print $2}' 부호가 없으면 첫 컬럼에 5, -면 0, +면 9, 그리고 나서 _를 .으로 바꿔서 세 컬럼을 소팅하고 나서 .을 정리하고나서 제일 앞에 붙였던 부호 정열용 컬럼을 제거. 결과는: -3_2 -3_1 -3 -2_1 -2 0 1 1_1 2 2_1 3 +1 +1_1 +1_2 +2 +2_1 +3 쓰고보니 cdpark님 제안과 비슷하군요. --- D'oh! |