다음을 사용하여 파일을 다른 파일과 연결하기 전에 정렬합니다.
sort -k1 file1 > file1_sort
두 번째 파일을 결합하려고 하면 file1이 정렬되지 않았다는 오류가 발생합니다. 다음 항목 때문에 이런 일이 발생한다고 생각합니다.
chr6_32609371_I I2 D
chr6_32609371 T C
내 정렬 파일에서 "chr6_32609371" 줄은 "chr6_32609371_I" 앞에 배치되어야 합니다. 이를 달성하기 위해 정렬 명령에 매개변수를 추가할 수 있습니까?
답변1
문제는 sort -k1
첫 번째 필드를 기준으로 정렬되지 않고 오히려~에서첫 번째 필드부터 줄 끝까지. man sort
(강조 내) 에서 :
KEYDEF는 시작 및 중지 위치를 나타내는 F[.C][OPTS][,F[.C][OPTS]]입니다. 여기서 F는 필드 번호이고 C는 필드의 문자 위치입니다. 둘 다 원점 1입니다.정지 위치는 기본적으로 줄 끝으로 설정됩니다.
그래서 와 비교하고 있고 -k1
, 이전 이기 때문에 보시다시피 정렬을 하고 있습니다. 이 문제를 해결하려면 시작 위치와 끝 위치를 전달하여 첫 번째 필드만 고려해야 합니다 .chr6_32609371_I I2 D
chr6_32609371 T C
I
T
sort
sort -k1,1 file