두 번째 열을 기준으로 정렬하고 처음 두 줄을 생략하는 명령

두 번째 열을 기준으로 정렬하고 처음 두 줄을 생략하는 명령

filename.csv콘텐츠가 포함된 CSV 파일이 있습니다.

,"Range 1 (%)","Range 2 (%)"
"Color","Number Color 1","Number Color 2"
"Red","99.0","5.2"
"Orange","12.9","0.0"
"Yellow","33.9","1.2"
"Green","13.9","76.2"
"Blue","87.6","97.2"
"Purple","86.8","55.5"

두 번째 열의 값을 기준으로 파일을 숫자순으로 정렬하려고 합니다. 하지만 파일의 처음 두 줄은 헤더이므로 생략하고 싶습니다. 내 명령은 다음과 같지만 처음 두 행이 없고 두 번째 열을 기준으로 정렬하지 않고 원본 파일을 출력합니다.

awk -F ',' '(NR>2)’ filename.csv | sort -t',' -k2 -n

도움을 주셔서 감사합니다 :) 감사합니다!

답변1

변형:

head -n 2 file.csv && tail -n +3 file.csv | sort -k 2

헤더 행과 데이터 행을 별도로 처리하면 됩니다.

결과를 다른 것으로 전달하려면 대괄호를 사용하면 됩니다.

(head -n 2 file.csv && tail -n +3 file.csv | sort -k 2) | less

관련 정보