Eu tenho dois arquivos, arquivo1 é um subconjunto do arquivo2, o que significa que todas as linhas do arquivo1 podem ser encontradas no arquivo2, mas algumas linhas do arquivo2 não estão no arquivo1. Agora quero encontrar as diferentes linhas (ou linhas extras) entre dois arquivos. Por causa do conteúdo (contém longas sequências de RNA) do arquivo, não é muito viável classificar o arquivo, então estou pensando se consigo encontrar linhas extras ou diferentes entre dois arquivos sem classificar.
Eu tentei este comando, mas parece não funcionar:
grep -vxFf barcodes1.tsv barcodes.tsv > diff.csv
Abaixo está uma seção do arquivo1 (que possui 6113 linhas):
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
Abaixo está uma seção do arquivo2 (que possui 6121 linhas):
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
Não é viável classificar esses dois arquivos. Portanto, qual será o comando para o trabalho sem ordenação?
Responder1
Este liner deve resolver o problema e cuida para que o arquivo de saída não seja classificado:
cat -n barcodes1.tsv barcodes.tsv | sort -uk2 | sort -nk1 | cut -f2- > diff.csv
Basicamente, o que ele faz é:
- Concatena o arquivo.
- Remove as duplicatas.
- Saídas no arquivo desejado que não será classificado.
Responder2
Em vez de grep, posso substituircomunicação?Tutoriaistalvezútil, mas aqui está uma linha para fazer o que você deseja:
comm -3 bigfile smallfile > differences