Слияние Двух Файлов с Различием только

Необходимо передать аргументы push-mark, нет global-set-key:

(global-set-key (kbd "M-SPC") (lambda() (interactive) (push-mark nil nil 1)))
3
29.09.2015, 23:55
3 ответа

Обычный способ слияния к файлам

join -t = file{1,2} | sed s/=/,/2
3
27.01.2020, 21:19

Если у вас есть одна строка, вы можете использовать следующий код:

echo "id=" $(paste -d "" <( awk -F',' {'printf "%s,%s,", $1, $2  '} file2 ) <( awk -F'=' {'print $2'} file1 ) <(sed -i 's/id=//g' file2 )) > file2
0
27.01.2020, 21:19

Можно использовать 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

1
27.01.2020, 21:19

Теги

Похожие вопросы