J'ai un gros fichier texte. J'ai besoin d'extraire toutes les lignes qui contiennent le mot exact "DUSP1". Voici un exemple des lignes:
9606 ENSP00000239223 DUSP1 BLAST
9606 ENSP00000239223 DUSP1-001 Ensembl
Je veux récupérer la première ligne mais pas la seconde.
J'ai essayé plusieurs commandes comme:
grep -E "^DUSP1"
grep '\<DUSP1\>'
grep '^DUSP1$'
grep -w DUSP1
Mais aucun ne semble fonctionner. Quelle option dois-je utiliser?
Le problème auquel vous êtes confronté est qu'un tiret (-) est considéré par grep
comme un délimiteur Word.
Vous devriez essayer cette commande:
grep '\sDUSP1\s' file
pour vous assurer qu'il y a des espaces autour de votre mot.
Si vous voulez grep exactement tout le Word, vous pouvez utiliser les limites de Word comme ceci:
grep '\bDUSP1\b'
Cela correspond au mot exact au début et à la fin.
en ajoutant à ce que Sputpick a dit, ça pourrait être ça ou:
grep '\sDUSP1$' file
si le DUSP1 est la fin de la ligne.