] Кажется, что вы хотите получить только первое событие каждого [] ключа1 [
]. [
]Это оттянет ожидаемый результат:[
] [$ awk '!($1 in a){print;a[$1]}' file
a1 2 l1
a2 2 l2
a3 2.5 l3
]
[][]Обновление[][
] []Если вы хотите, чтобы []ключ1[
] []или [] []ключ3[
] происходил только один раз:[
$ awk '!($1 in a) && !($3 in a){print;a[$1];a[$3]}' 1.txt
a1 2 l1
a2 2 l2
a3 2.5 l3
]
[][]Обновление 2[][
] []После прочтения вашего комментария, я думаю, следующее решение:[
] [$ sort -rnk2 file | awk '!a[$1]++' | awk '!a[$3]++'
a1 14.0 l6
a3 13.3 l8
a2 11.1 l2
a4 1.7 l1
] При загрузке пакетов раздел и приоритет прочитаны из файла .Changes
. В файлах
Stanzas (см. HTTPS: //www.debian.org/doc/debian-policy/ch-controlfields.html#sf-files).
Для получения раздела и приоритета из .DSC
(и связанных файлов) вы можете использовать DSCEXTRACT
из DEVSCRIPTS
пакет с небольшим сценарием Отказ
dscextract <yourdsc> debian/control
извлеките Debian / Control
(или сбой, если он не может); Затем вы можете прочитать раздел и приоритет от исходного раздела файла управления (остановка на первой пустой строке).