Этот сценарий должен работать:
touch resultFile
while read f; do
header1=$(echo $f | awk '{print $1;}');
values1=$(echo $f | awk -F "$header1 " '{print $NF;}');
while read g; do
header2=$(echo $g | awk '{print $1;}');
values2=$(echo $g | awk -F "$header2 " '{print $NF;}');
if [ $header1 = $header2 ]; then
echo "$header1 $values1 $values2" >> resultFile
fi
done < file2
done < file1
Заголовки должны быть уникальными, иначе будет объединена только последняя найденная строка.
PS: Я посчитал, что заголовок «mail» не должен присутствовать в результате, так как его нет в обоих файлах, как «game» (в вашем примере присутствует «mail», но не «game»).
Что вам нужно сделать, так это отредактировать вашу конфигурацию i3, чтобы узнать, где она находится, вы можете использовать i3-config-wizard
,
$ i3-config-wizard
The config file "/home/$USER/.config/i3/config" already exists. Exiting.
Строка, устанавливающая команду выхода, находится в этом файле, и она создана по умолчанию
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
Вы увидите i3-nagbar
. Это полоса наверху отвечает за то, что вас надоедает. Просто измените это, чтобы перейти прямо к выходной ветке,
bindsym $mod+Shift+e exit
И, наконец, запустите i3-msg reload
, чтобы перезагрузить файл конфигурации.
Я столкнулся с этим, когда искал способ выхода из i3, который был бы одновременно и клавиатурой -, и вряд ли у меня был бы толстый -палец. (Наличие $mod -Shift -e для выхода и $mod -Shift -r для перезапуска рядом друг с другом неудобно. )Мое решение — использовать dmenu
для запуска
i3 exit
илиi3-msg exit
В дополнение к тому, что я не могу случайно набрать что-то, пытаясь ввести что-то еще, у него есть преимущества, заключающиеся в том, что он не требует какой-либо новой настройки и напоминает вам, как работают горячие клавиши внутри.
Добавьте это в свою конфигурацию:
mode "exit: [l]ogout, [r]eboot, [s]hutdown" {
bindsym l exec i3-msg exit
bindsym r exec systemctl reboot
bindsym s exec systemctl shutdown
bindsym Escape mode "default"
bindsym Return mode "default"
}
bindsym $mod+x mode "exit: [l]ogout, [r]eboot, [s]hutdown"
теперь используйте mod + x , а затем выберите l , r или s