como @don _crissti sugirió y como se describe en Guardar atajos de teclado personalizados en Gnome Pude exportar/importar configuraciones de gpaste con:
dconf dump /org/gnome/GPaste/ > gpaste.dconf.settings
dconf load /org/gnome/GPaste/ < gpaste.dconf.settings
Этот sed
только преобразует ваш ввод в заданный вывод. Вы можете расширить его для своих нужд:
sed -E '/^[0-9]/{s/.*_(.*)(,.*),(.*)/\3\2,\1/;H;d;};G;s/,(.*)\n.*\n\1(,[0-9]*,T[0-9]*).*/\1\2/' file2 file1
Идея для такой задачи всегда одна и та же. :Сначала прочитайте второй файл, чтобы создать таблицу поиска в области хранения, а затем добавьте эту таблицу поиска к каждой строке основного файла.
Подробно:
/^[0-9]/
обращается к строкам, начинающимся с цифры, поэтому все внутри {}
выполняется только для file2
s/.*_(.*)(,.*),(.*)/\3\2,\1/
извлекает из второго файла только нужные нам части, уже в нужном порядке H;d
добавляет это в таблицу поиска в области хранения и отбрасывает эту строку. Другая обработка предназначена только для file1
G
добавляет таблицу поиска, а s/,(.*)\n.*\n\1(,[0-9]*,T[0-9]*).*/\1\2/
находит ключ (между ,
и новой строкой )в качестве обратной ссылки \1
в таблице поиска, чтобы добавить поля из таблицы Также нашел другой способ решить эту проблему с помощью AWK, и он у меня работает.
awk -F"," 'FNR==NR{a[$4]=$3 FS $2;next}{ print $0","a[$3]}' file1 file2