
11개의 열이 있는 다음 foo.dat
파일을 고려해 보세요.
893 1 754 946 193 96 96 293.164 293.164 109.115 70.8852
894 1 755 946 192 95 96 291.892 292.219 108.994 70.821
895 1 755 947 193 95 97 290.947 291.606 109.058 70.5709
896 1 755 947 193 95 97 290.002 290.663 109.122 70.5053
897 1 755 948 194 95 98 289.057 290.057 109.187 70.2532
898 1 754 949 196 96 99 288.444 289.456 109.44 70
899 1 754 950 197 96 100 287.501 288.862 109.506 69.7458
900 1 754 949 196 96 99 286.559 287.578 109.573 69.8637
11열과 9열을 필터링하여 이 열만 파일에 인쇄하고 싶지만첫 번째 새 열의 오름차순즉, 11열과 9열을 인쇄한 후 숫자 규칙에 따라 출력을 정렬합니다.
나는 노력했다
awk -F' ' '{printf "%-12s%-12s\n", $11, $9}' foo.dat | sort -g
하지만 출력이 주변에서 이상합니다 70
. 그것은
70.2532 290.057
70 289.456
70.5053 290.663
왜 70
이전에는 없습니까 70.2532
? .
무시당하고 있는 것 같습니다 .
답변1
쉼표를 소수 구분 기호로 사용하는 로캘이 있는 것 같습니다. 이렇게 하면 해당 문제가 해결됩니다.
awk -F' ' '{printf "%-12s%-12s\n", $11, $9}' foo.dat | LC_ALL=C sort -g