Após pesquisar, ler e tentar possíveis soluções para muito sobre grep
lines com a lista de padrões, por isso estou escrevendo. É eu sei um muito básico e foram atendidos em muitos fóruns.
Mas eu estou preso com o seguinte: Eu tenho dois arquivos, eu quero grep essas linhas de arquivo maior, que coincide com o padrão de arquivo menor.
Eu tenho um arquivo_A.txt (uma lista de coluna única de padrões a serem correspondidos) como:
comt241_c0_seq1
comt868_c0_seq1
comt685_c0_seq1
comt7977_c0_seq1
comt6723_c0_seq1
comt363_c0_seq1
comt384_c0_seq1
e outro file_B.txt (delimitado por tabulações, com mais entradas que file_A)
comp5_c0_seq1 0 0 0 6 0 0 0 0 0
comt241_c0_seq1 0 0 0 0 0 0 0 0 0
comt868_c0_seq1 0 0 0 0 0 0 0 0 0
comt363_c0_seq1 0 0 0 0 0 0 0 0 0
comt384_c0_seq1 0 0 0 0 0 0 0 0 0
comp429_c0_seq1 0 0 0 0 0 0 0 0 0
comp452_c0_seq1 0 0 0 0 0 0 0 0 0
comp452_c0_seq2 0 0 0 0 0 0 0 0 0
comp483_c0_seq1 33 8 10 32 0 33 8 0 37
comt685_c0_seq1 0 0 0 0 0 0 0 0 0
comp494_c0_seq1 0 0 0 0 0 0 0 0 0
comt7977_c0_seq1 1 0 0 0 0 0 0 0 0
comp564_c0_seq1 0 0 0 0 0 0 0 0 0
comp596_c0_seq1 0 0 0 0 0 0 0 0 0
comp653_c0_seq1 10 0 0 2 0 0 0 0 0
comp724_c0_seq1 0 0 0 0 0 0 0 0 0
comt6723_c0_seq1 0 0 0 0 0 0 0 0 0
Eu tentei grep -f file_A file_B > file_C
Mas retornou um arquivo vazio.
Então eu removi todos os espaços em branco do arquivo_A usando
sed 's/[ \t]*$//' file_A > new_file_A
mas não funcionou. Eu tentei muitas coisas para remover caracteres especiais ou espaço e para delimitar corretamente o arquivo, mas ele me deu entradas extras ou nada.
Eu acho que há algum caractere especial no arquivo_A ou no arquivo_B, o que está incomodando.
Eu estou usando o editor de texto wrangler.
Existe outra maneira além do grep de fazer isso?