Какая версия grep
Вы используете? Я попробовал Ваш код и получил следующие результаты:
$ grep -f file1 file2
ENSG00000187546
ENSG00000113492
ENSG00000166971,ENSG00000186106
Если Вы просто хотите результаты, которые соответствуют Вам, может использовать grep
-o
переключитесь для создания отчетов только о вещах, которые соответствуют:
$ grep -o -f file1 file2
ENSG00000187546
ENSG00000113492
ENSG00000166971
$ grep --version
grep (GNU grep) 2.14
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
При отладке этого далее я заметил несколько случайных пробелов в конце 2-й строки в файле F1.txt
. Вы видите, что они используют hexdump
.
$ hexdump -C ff1
00000000 45 4e 53 47 30 30 30 30 30 31 38 37 35 34 36 0a |ENSG00000187546.|
00000010 45 4e 53 47 30 30 30 30 30 31 31 33 34 39 32 20 |ENSG00000113492 |
00000020 20 0a 45 4e 53 47 30 30 30 30 30 31 36 36 39 37 | .ENSG0000016697|
00000030 31 0a |1.|
00000032
Они обнаруживаются с как коды ASCII 20. Вы видите их в них здесь: 32 20 20 0a
.
Попробуйте:
sudo apt-get --only-upgrade install <package>
Из man apt-get
:
--only-upgrade
Do not install new packages; when used in conjunction with install,
only-upgrade will install upgrades for already installed packages
only and ignore requests to install new packages. Configuration
Item: APT::Get::Only-Upgrade.
Вы можете загрузить пакеты, но не устанавливать их. Попробуйте:
sudo apt-get -d upgrade packageName
Где -d
или --download
скачает файлы пакета, но не устанавливает их.