Когда Вы выходите :w !wc -w
, энергия создает временный файл и затем передает тот файл по каналу к команде после !
, или скорее это помещает Ваши данные во временный файл и просит, чтобы Ваша оболочка выполнила команду, которая смотрит что-то как следующее:
(wc -w) < /tmp/vHhjUPf/2
Где та последняя часть является некоторой случайной папкой/именем файла, в которой энергия хранит Ваши данные. Одна интересная вещь отметить, эта команда перестанет работать в несовместимых оболочках как рыба. Это вызвано тем, что рыба использует (cmd)
синтаксис для замены команды вместо ее традиционного использования.
С
:
:
$ awk 'BEGIN{FS=OFS="|"}NR==FNR{a[$1]=$0;next}{$1=a[$1]}1' file_1 file_2
14595|Age 35|Salary xx|Position ax|2013|Info 1|Info 2|Info 3|Info 4|Info 5|Address xx|Info 6|Info 7|Info 8
14649|Age 30|Salary xx|Position az|2015|Info 1|Info 2|Info 3|Info 4|Info 5|Address xxxz|Info 6|Info 7|Info 8
Используйте join
:
$ join -t'|' file_1 file_2
14595|Age 35|Salary xx|Position ax|2013|Info 1|Info 2|Info 3|Info 4|Info 5|Address xx|Info 6|Info 7|Info 8
14649|Age 30|Salary xx|Position az|2015|Info 1|Info 2|Info 3|Info 4|Info 5|Address xxxz|Info 6|Info 7|Info 8
-t
указывает разделитель полей.
Для того, чтобы соединить работы, файлы должны быть отсортированы. Для этого можно использовать сортировку
.