Ответ 1
Проблема, с которой вы сталкиваетесь, заключается в том, что тире (-) рассматривается как grep
как разделитель слов.
Вам следует попробовать выполнить следующую команду:
grep '\sDUSP1\s' file
чтобы вокруг вас было место.
У меня есть большой текстовый файл. Мне нужно извлечь все строки, содержащие точное слово "DUSP1". Вот пример строк:
9606 ENSP00000239223 DUSP1 BLAST
9606 ENSP00000239223 DUSP1-001 Ensembl
Я хочу получить первую строку, но не вторую.
Я попробовал несколько команд как:
grep -E "^DUSP1"
grep '\<DUSP1\>'
grep '^DUSP1$'
grep -w DUSP1
Но никто из них, похоже, не работает. Какой вариант использовать?
Проблема, с которой вы сталкиваетесь, заключается в том, что тире (-) рассматривается как grep
как разделитель слов.
Вам следует попробовать выполнить следующую команду:
grep '\sDUSP1\s' file
чтобы вокруг вас было место.
Если вы хотите grep точно всего слова, вы можете использовать такие границы слов, как это:
grep '\bDUSP1\b'
Это соответствует точному слову в начале и в конце.
добавив, что сказал sputpick, это может быть либо: или
grep '\sDUSP1$' file
если DUSP1 является концом строки.