Получение имени патча из истории команд yum с помощью команды shell - PullRequest
0 голосов
/ 16 октября 2018

Я использую команду для получения списка исправлений:

sudo yum --setopt=history_list_view=commands history list all

Вывод:

ID | Command line             | Date and time    | Action(s)      | Altered

13 | remove wget              | 2018-10-16 08:56 | Erase          |    2
12 | install sssd-1.12.4-47.e | 2018-10-16 03:09 | Update         |    4 ss
11 | install unzip-6.0-2.el6_ | 2018-10-15 09:27 | Update         |    1
10 | install sqlite-3.6.20-1. | 2018-10-15 09:26 | Update         |    1
 9 | install pam-1.1.1-20.el6 | 2018-10-15 09:22 | Update         |    1
 8 | install libxml2-python-2 | 2018-10-15 09:20 | Update         |    2
 7 | install curl.x86_64      | 2018-10-15 08:56 | Update         |    2
 6 | install dhclient.x86_64  | 2018-10-15 08:55 | Update         |    2
 5 | install openssh.x86_64   | 2018-10-15 08:50 | Update         |    3
 4 | install samba-winbind-3. | 2018-10-15 04:59 | Update         |    4
 3 | install zsh-html.x86_64  | 2018-10-12 06:57 | Install        |    1
 2 | install samba            | 2017-01-05 03:17 | I, U           |    5
 1 | install wget             | 2017-01-05 03:08 | Update         |    1

Как я могу обработать это и получитьимя патча только из столбца командной строки?

1 Ответ

0 голосов
/ 16 октября 2018

Вы можете получить только имя пакета , используя awk таким образом:

sudo yum --setopt=history_list_view=commands history list all | awk -F '|' 'NR>2{print $2}' | awk 'NF{print $2}'

Первое выражение awk разбиваетсякаждая строка с | -характером и дает вам второй столбец (за исключением первых двух строк NR>2, которые описывают заголовок таблицы).Второе выражение awk разделяет второй столбец по пробелу и выдает имя пакета, фильтруя пустые строки ( больше информации о NF в awk ).

Вывод будет похож на:

curl.x86_64
dhclient.x86_64
openssh.x86_64
zsh-html.x86_64
samba
wget

Если вам нужна фильтрация, например, по полю Action, вначале потребуется дополнительный grep.

...