Вы можете сделать это с помощью sed
, однако версия редактора Gnu
может сделать регулярное выражение менее шумным.
Основная идея состоит в том, чтобы сначала прочитать файл File2 и сохранить его в области удержания, при этом его строки разделяются новой строкой.
Затем мы читаем Файл1 и добавляем строки Файла2 из удержания к только что -прочитанной строке Файла1. Если мы можем обнаружить наличие строки File1 в области хранения, то все готово, и мы печатаем строку File2 как есть, сокращая пространство шаблонов других вещей.
В противном случае мы печатаем строку File1 с добавленным 0.
$ sed -Ee '
/ /{H;d;}
G
s/^(\S+)\n.*\n(\1 \S+)(\n.*)?$/\2/;t
s/\n.*/ 0/
' File2 File1
Это xkill
. Он поставляется с Xorg , который является стандартным сервером X11, поэтому, скорее всего, он у вас уже установлен.
В любом оконном менеджере или среде рабочего стола вы можете связать ярлык с командой. То, как это делается, различается, загляните в документацию.