J'ai un gros fichier de fasta sequence et une liste d'identifiants. J'ai besoin de grep
certaines séquences avec en-tête en utilisant leurs identifiants d'un autre fichier. Voici les exemples de fichiers.
Fichier 1:
>AB1234
ACGTAGATA
>AB3456
ACGATAGAT
>AB4567
ACGTGTGA
Fichier 2
>AB1234
>AB3456
Vous pouvez avoir grep
lire les motifs d'un fichier, un motif par ligne, avec l'option -f
:
grep -x -F -A 1 -f 'File 2' 'File 1'
Aditionellement,
-F
interprète les motifs littéralement et non comme des expressions régulières,
-x
ne correspond qu'à des lignes entières,
-A N
imprime N
lignes après chaque match.
J'ai eu ceci au travail:
for i in $(cut -d" " -f1- file2); do grep -o "$i" file1 | tee -a result.txt; done
Hypothèse file1
== id
fichier et file2
== fichier à greped
Result.txt:
AB1234
AB3456