Это выглядит более неудобным, чем необходимый, но лучше, чтобы я мог найти прямо сейчас:
setxkbmap -print -layout us | xkbcomp -xkm - - | xkbprint - test.ps
поместит изображение хорошего выхода американского расположения в test.ps. (setxkbmap
поддержки много других флагов, в особенности -option
и -variant
может представлять интерес для Вас. Для получения дополнительной информации посмотрите man setxkbmap
. (Извините, X настроек клавиатуры являются известно волосатыми.)
Используются следующие опции:
-w : Поиск целых слов, это гарантирует, что имя гена [115796]ERK1[115797] не будет совпадать с геном [115798]ERK12[115799] ([115800] -w[115801] не является стандартной опцией, но является довольно распространенной)
c---rw---- 1 root lp 6, 0 2011-06-26 22:47 /dev/lp0
-f : Читайте шаблоны для поиска из файла. В этом случае [115802]gene_list.txt[115803].
sudo chmod 666 /dev/lp0
-F : Обращайтесь с шаблонами как со строками, а не как с регулярными выражениями. Это гарантирует, что имя гена, подобное [115804]TOR*[115805] (если бы такое существовало), не будет соответствовать [115806]TORRRR[115807].
echo "Y helo thar" > /dev/lp0
-F : Это предполагает, что вокруг имен генов в вашем списке нет пробелов [115461]-[115462]. Если они есть, вам нужно сначала удалить их (здесь с GNU [115463]sed[115464]):
Explanation скопировано из вики-записи:
FNR == NR[115809]: Этот тест верен, когда количество записей равно количеству записей в файле. Это справедливо только для первого файла, так как второй файл NR будет равен количеству строк file1 + FNR.
arr[$0][115811]: Это классическая техника создания индекса элемента массива по всей строке. При этом создается массив с именами файлов 1.
next[115813]: при этом происходит переход к следующей записи, поэтому обработка в файле 1.
$6 в arr[115815] больше не производится: Это произойдёт только на записях файла2 из-за следующей. Если в arr присутствует $1, т.е. в file1, то будет выполнено действие по умолчанию и напечатана строка.
или с лидирующим пробелом в [115465]gene_list[115466] (согласно примеру в вопросе):
Конечно, это не сработает, если в имена генов включены символы, которые интерпретируются регулярными выражениями. Атлхоф, если это так, то вам нужно добавить дополнительные замещающие выражения в [115467]sed[115468], чтобы избежать их, например [115469]s:\[:\[:[115470].[115072].