두 개의 파일이 있습니다. file1은 file2의 하위 집합입니다. 즉, file1의 모든 줄은 file2에서 찾을 수 있지만 file2의 일부 줄은 file1에 없습니다. 이제 두 파일 사이의 다른 줄(또는 추가 줄)을 찾고 싶습니다. 파일의 내용(긴 RNA 시퀀스 포함)으로 인해 파일을 정렬하는 것이 불가능하므로 정렬하지 않고도 두 파일 사이에 추가 또는 다른 줄을 찾을 수 있는지 궁금합니다.
이 명령을 시도했지만 작동하지 않는 것 같습니다.
grep -vxFf barcodes1.tsv barcodes.tsv > diff.csv
다음은 file1(6113줄)의 일부입니다.
AAACCTGAGAAAGTGG-1
AAACCTGAGCCACGCT-1
AAACCTGAGCCTATGT-1
AAACCTGAGCTGCAAG-1
AAACCTGCATTCGACA-1
AAACCTGCATTGGGCC-1
AAACCTGCATTTCACT-1
AAACCTGGTAACGTTC-1
AAACCTGGTATTCGTG-1
AAACCTGGTCGGCACT-1
AAACCTGTCACTATTC-1
AAACCTGTCAGGCGAA-1
AAACCTGTCCTAGTGA-1
AAACCTGTCGGATGTT-1
AAACCTGTCTGATTCT-1
AAACGGGAGTGAACAT-1
AAACGGGCACTCTGTC-1
AAACGGGGTAAGAGAG-1
AAACGGGGTACCTACA-1
AAACGGGGTTCAGACT-1
AAACGGGGTTTGACTG-1
AAACGGGTCAAAGTAG-1
AAACGGGTCAACCAAC-1
AAACGGGTCATGCATG-1
AAACGGGTCCTATTCA-1
AAACGGGTCGTATCAG-1
AAACGGGTCTATGTGG-1
AAAGATGAGCACAGGT-1
AAAGATGAGCAGGCTA-1
AAAGATGCAAACTGTC-1
다음은 file2(6121줄)의 일부입니다.
AAACCTGCAAGCGAGT-1
AAACCTGCACACAGAG-1
AAACCTGGTAAACACA-1
AAACCTGGTCGGATCC-1
AAACCTGGTCTCTTTA-1
AAACCTGGTTTAAGCC-1
AAACCTGTCAACACCA-1
AAACCTGTCTATCCCG-1
AAACCTGTCTTTAGGG-1
AAACGGGAGCCACCTG-1
AAACGGGAGCGTTTAC-1
AAACGGGAGCTGTTCA-1
AAACGGGAGTAGGCCA-1
AAACGGGAGTGCCATT-1
AAACGGGCAACACCTA-1
AAACGGGCAATAGCGG-1
AAACGGGCACAGATTC-1
AAACGGGCACAGTCGC-1
AAACGGGCAGATGAGC-1
AAACGGGCAGGAATCG-1
AAACGGGCAGGTCCAC-1
AAACGGGCAGGTGGAT-1
AAACGGGCATAAAGGT-1
AAACGGGGTAGCTCCG-1
AAACGGGGTAGCTGCC-1
AAACGGGGTTCAACCA-1
AAACGGGGTTTGGGCC-1
AAACGGGTCAAACAAG-1
AAACGGGTCGAACTGT-1
AAACGGGTCTTAACCT-1
이 두 파일을 정렬하는 것은 불가능합니다. 그렇다면 정렬이 없는 작업의 경우 명령은 무엇입니까?
답변1
이 라이너는 트릭을 수행해야 하며 출력 파일이 정렬되지 않았음을 알 수 있습니다.
cat -n barcodes1.tsv barcodes.tsv | sort -uk2 | sort -nk1 | cut -f2- > diff.csv
기본적으로 수행되는 작업은 다음과 같습니다.
- 연결 파일.
- 중복된 항목을 제거하세요.
- 정렬되지 않은 원하는 파일로 출력됩니다.