Чтобы получить самую новую версию каждой строки в обоих файлах:
$ cat file1 file2 | sort -t',' -k3,3 -k5,5nr | sort -t',' -u -k3,3 -o newest
Это объединяет файлы и сортирует записи с полями из полей 3 и 5 в качестве ключа сортировки. При этом объединенный файл сортируется так, что самая новая запись для каждого человека идет первой (благодаря отметке времени в последнем столбце). Последняя сортировка использует поле 3 в качестве ключа сортировки и выполняет уникальную сортировку на основе этого поля. Это оставит только самую новую запись для каждого человека в файле самый новый
.
Затем мы создаем дополнение строк в newest
, то есть все записи в двух файлах, которые старше самой новой записи для каждого человека:
$ cat file1 file2 | grep -v -F -x -f newest >older
grep
делает фиксированное совпадение строки ( -F
) на полных строках ( -x
) и возвращает все строки, не соответствующие ( -v
) чему-либо в newest
. Эти строки хранятся в старом
.
Последний шаг - удалить любую строку из file2
, которая присутствует в более старом
файле:
$ grep -v -F -x -f older file2 >new-file2
Напишите PKGBUILD
, используйте makepkg
для сборки пакета и используйте pacman
для его установки.
Вы можете начать с thunar -git , получить его можно по ссылке Download snapshot . Загрузите патч, поместите его в тот же каталог и добавьте команду patch непосредственно перед вызовом autogen.sh
в функции сборки PKGBUILD
.
Возможно, вы захотите начать с PKGBUILD по умолчанию для manjaro, если thunar -git не работает с вашей версией xfce.
Обновление:Патч уже отправлен на git, так что thunar -git из aur может работать без модификаций.
Ради вопроса, чтобы пропатчить, скомпилировать и обновить путь Arch, я думаю, вам следует загрузить из AUR соответствующий пакет (Я имею в виду версию git, если это возможно, так как это то, к чему обычно применяются патчи разработчиков на ), затем иметь что-то подобное этому в его PKGBUILD:
prepare() {
wget -O "${startdir}"/patch.diff https://bugzilla.xfce.org/attachment.cgi?id=7074
patch -p1 -i "${startdir}"/patch.diff -d "${srcdir}/${pkgname}"
}
Замените последние аргументы любой команды любым URL-адресом исправления и фактической -корневой -папкой -, которую ожидает -файл исправления --.