정렬된 두 파일을 결합하면 오류가 발생합니다.:112855: 정렬되지 않음:

정렬된 두 파일을 결합하면 오류가 발생합니다.:112855: 정렬되지 않음:

Linux에서 한 파일의 변수를 다른 파일로 병합하고 싶습니다. 첫 번째 변수에는 병합하려는 파일의 이름이 포함됩니다.

-f와 -k를 사용하여 두 파일을 모두 정렬했습니다 sort -f -k 1,1 SCZ.N.tmp> SCZ.N.tmp.sorted.sort -f -k 1,1 1kg.tmp > 1kG.ref_file.sorted

그러나 다음을 사용하여 두 파일을 결합하면:join -1 1 -2 1 SCZ.N.tmp.sorted 1kG.ref_file.sorted> SCZ.freq.joined

계속 '오류가 발생합니다.연결: SCZ.N.tmp.sorted: 112855: 정렬되지 않음: chr1_100002155_D D I6 0.995112 0.0184 0.7897 87016그럼에도 불구하고 연결은 계속되었고 대부분이 병합되었습니다. 다만, 파일 간 불일치로 인해 소수의 케이스가 누락된 것인지, 아니면 이러한 파일을 정렬하는 데 문제가 있어서인지는 잘 모르겠습니다.

내가 뭘 잘못하고 있는지 아는 사람 있나요? 이 오류를 방지하려면 어떻게 해야 합니까? 감사합니다!

나는 또한 :을 시도한 LANG=en_EN sort -f -k 1,1 SCZ.N.tmp> SCZ.N.tmp.sorted2다음 LANG=en_EN sort -f -k 1,1 1kg.tmp > 1kg.tmp.sorted2:을 사용하여 가입했습니다 LANG=en_EN join -1 1 -2 1 SCZ.N.tmp.sorted2 1kg.tmp.sorted2> SCZ.freq.joined. 그러나 그것은 문제를 해결하지 못했습니다.

답변1

-f 옵션을 사용하면 파일을 대소문자 독립적인 키로 정렬할 수 있습니다.

그러나 조인에는 일반 정렬 순서의 키가 필요합니다.

대소문자 차이를 무시하도록 조인 명령줄에 -i 옵션을 추가해야 합니다.

또는 두 유형 모두에서 -f 옵션을 생략하십시오.

편집: 또 다른 가능성도 발견했습니다여기. 정렬 및 조인을 위한 필드 구분 기호는 동일해야 합니다. 정렬과 연결의 기본값은 공백인 것처럼 보이지만 이것이 다음 장애물이 될 수 있습니다.

관련 정보