Usandoawk
awk -F ' *| *' 'NR==FNR{a[$1];next}($1 in a)' file1 file2
La matriz a
se llena con el contenido de la primera columna del archivo1. Solo las líneas que coincidan con una matriz de entrada se imprimirán cuando se analice el siguiente archivo.
Все зависит от конкретной реализации оболочки. (У вас могут быть разные оболочки по умолчанию в разных системах или даже для разных пользователей в одной системе, например. bash, ksh, tcsh и т. д. ).
Также это зависит от самой оболочки.
. bash поддерживает два режима :emacs и vi. У каждого режима есть свои ярлыки (emacs или vi, например ). Чтобы изменить его, вы должны выполнить set -o emacs
(, обычно это значение по умолчанию )или set -o vi
Дополнительную информацию можно найти в документации по конкретной оболочке.
tl;dr
set -o emacs
активирует привязки клавиш Ctrl -A, Ctrl -E, Ctrl -B и т. д. в большинстве оболочек, которые вы, вероятно, будете использовать.
Оболочка может не иметь возможности редактирования строк или может находиться в vi
режиме редактирования (единственном, указанном стандартом ).
Если не в режиме редактирования emacs
, клавиши Ctrl -A и Ctrl -E не имеют особого значения. Если включены настройки echo
и echoctl
stty/termios, все клавиши управления, которые не обрабатываются специальным образом, будут отображаться в виде ^A
, ^X
и т. д., с символом «вставки».
Многие оболочки (, такие как ksh
или zsh
), будут определять режим редактирования по умолчанию (vi или emacs )на основе значений VISUAL
и EDITOR
переменных окружения (в этом порядок приоритета, а также обработка таких вариантов, как vim
, elvis
, xemacs
и т. д. ).
Это было сломано (очень раздражающе! )в mksh
, но это также имеет место и в других производных отpdksh
-оболочках.
Другие оболочки, такие как bash
или tcsh
, по умолчанию используют режим редактирования emacs
, но его также можно переопределить из файла конфигурации библиотеки редактирования строк.
Для библиотеки readline
, используемой bash
и многими другими программами,файлы конфигурации~/.inputrc
(или файл, указанный в переменной окружения INPUTRC
)с откатом к /etc/inputrc
и настройками:
set editing-mode vi
set editing-mode emacs
Для библиотеки editline
/libedit
[1], используемой многими программами BSD, файл конфигурации обычно ~/.editrc
, а настройки:
bind -v # for vi
bind -e # for emacs
[1] не путать с строкой чтенияlibeditline
«работают -одинаково», которая обеспечивает только режим редактирования emacs -.