Необходимо передать аргументы push-mark
, нет global-set-key
:
(global-set-key (kbd "M-SPC") (lambda() (interactive) (push-mark nil nil 1)))
Если у вас есть одна строка, вы можете использовать следующий код:
echo "id=" $(paste -d "" <( awk -F',' {'printf "%s,%s,", $1, $2 '} file2 ) <( awk -F'=' {'print $2'} file1 ) <(sed -i 's/id=//g' file2 )) > file2
Можно использовать sed
, tail
и cut
:
sed -i "s/=\(.*\)/=\1,$(tail -1 file1 | cut -d = -f 2)/" file2
команды между $(..... )
сначала берет последнюю строку file1
, обрезает ее на основе символа =
и занимает второе поле (kingDB
), затем помещает его в конец строки со знаком '=' второго файла. ¹
Не все версии sed
имеют -i
, если ваша не попробует:
sed "s/=\(.*\)/=\1,$(tail -1 file1 | cut -d = -f 2)/" file2 > file2.tmp
mv -f file2.tmp file2
¹ я предполагаю, что file2
действительно заканчивался на новую строку, если вы не можете обойтись без sed