РЕДАКТИРОВАТЬ :Вопрос в первоначально написанном виде был довольно неясным и не содержал важных деталей. Ниже приведены два оригинальных ответа, которые я написал, когда вопрос стал более ясным. Ответы хороши для аналогичных более простых случаев на вопрос, как написано в настоящее время.
В случае отсортированных и сопоставленных файлов я бы рекомендовал сначала использовать утилиту командной строки paste
для создания временного третьего файла, который будет файлом со вторым столбцом второго файла, добавленным к каждой строке. Направьте вывод этой команды paste
в awk
, и тогда ваше решение awk
станет тривиальным-$2 != $4{printf "%s %s %s", $1, $2, $4}
.
вставить -d"," файл1 файл2 | awk 'BEGIN{FS=",";OFS=","}$2 != $4{printf "%s,%s,%s", $1, $2, $4}'
В случае несортированных сопоставленных файлов, если все ключи файла1 и файла2 идентичны, просто sort
ввод в paste
. Вы можете делать такие вещи в оболочке bash
, используя подстановку процесса с формой <( command )
, как в примере ниже:
вставить -d"," < (отсортировать файл1 )< (отсортировать файл2 )| awk 'BEGIN{FS=",";OFS=","}$2 != $4{printf "%s,%s,%s", $1, $2, $4}'
Для несортированного и несовпадающего набора файлов (вопрос в том виде, в каком он написан ), см. ответ пользователя don _crissti.
В~/.bashrc
:
alias electron6='electron6 --disable-gpu'
Тогда
source ~/.bashrc
Сначала переименуйте существующий двоичный файл
sudo mv /etc/electron/electron6 /etc/electron/electron6.real
Затем создайте замену /etc/electron/electron6
#!/bin/bash
exec -a /etc/electron/electron6 /etc/electron/electron6.real --disable-gpu "$@"
и убедитесь, что он исполняемый. exec
гарантирует отсутствие дополнительных процессов. -a
скроет часть обмана.