Назад | Перейти на главную страницу

Как мы можем ограничить и дать место после каждого специального символа в выводе сценария bash?

Мне нужно отправить всю информацию, связанную с rpm, в наш анализатор журналов, и я запускаю команду ниже, которая дает непрерывный вывод, как показано ниже:

CMD

sudo rpm -qa --info | egrep 'Name|Version|Architecture|Install Date|Vendor|Description'

O / P

Name        : openssh-clients
Version     : 7.4p1
Architecture: x86_64
Install Date: Fri 29 Nov 2019 02:31:40 PM UTC
Vendor      : Amazon Linux
Description :
Name        : p11-kit-trust
Version     : 0.23.5
Architecture: x86_64
Install Date: Tue 18 Jun 2019 10:23:44 PM UTC
Vendor      : Amazon Linux
Description :
Name        : ec2-hibinit-agent
Version     : 1.0.0
Architecture: noarch
Install Date: Fri 29 Nov 2019 02:31:44 PM UTC
Vendor      : Amazon Linux
Description :
Name        : python-slip-dbus
Version     : 0.4.0
Architecture: noarch
Install Date: Tue 04 Feb 2020 12:41:09 PM UTC
Vendor      : Amazon Linux
Description :

Я хотел бы разделить приведенный выше вывод всякий раз, когда приходит имя. Его следует разделить пробелом.

Вы можете отформатировать свой rpm вывод с использованием --qf.

Форматы запросов - это модифицированные версии стандартного форматирования printf (3). Формат состоит из статических строк (которые могут включать стандартные escape-символы C для символов новой строки, табуляции и других специальных символов) и средств форматирования типа printf (3). Поскольку rpm уже знает тип для печати, спецификатор типа должен быть опущен и заменен именем печатаемого тега заголовка, заключенным в символы {}.

Я взял egrep из вашего выписки и использовал форматирование.

sudo rpm -qa --qf "Name\t    : %{Name}\nVersion\t    : %{Version}\nArchitecture: %{Arch}\nInstall Date: %{INSTALLTIME:date}\nVendor\t    : %{Vendor}\nDescription : %{Description}\n\n"

Вывод

Имя: vim-Enhanced
Версия: 7.4.629
Архитектура: x86_64
Дата установки: Вт, 29 окт.2019 14:53:20 UTC
Производитель: CentOS
Описание: VIM (VIsual editor iMproved) - это обновленная и улучшенная версия редактора vi. Vi был первым настоящим экранным редактором для UNIX, который до сих пор пользуется большой популярностью. VIM улучшает vi, добавляя новые функции: несколько окон, многоуровневую отмену, выделение блоков и многое другое. Пакет с расширением vim содержит версию VIM с дополнительными, недавно появившимися функциями, такими как интерпретаторы Python и Perl.

Установите пакет vim-Enhanced, если вы хотите использовать версию редактора VIM, которая включает недавно добавленные улучшения, такие как интерпретаторы для языков сценариев Python и Perl. Вам также потребуется установить пакет vim-common.

Имя: wget
Версия: 1.14
Архитектура: x86_64
Дата установки: Вт, 29 окт.2019, 14:54:15 UTC
Производитель: CentOS
Описание: GNU Wget - это утилита для извлечения файлов, которая может использовать либо HTTP, либо
Протоколы FTP. Функции Wget включают в себя возможность работы в фоновом режиме при выходе из системы, рекурсивное извлечение каталогов, сопоставление подстановочных знаков имени файла, хранение и сравнение удаленных временных меток файлов, использование Rest с FTP-серверами и Range с HTTP-серверами для получения файлов слишком медленно или медленно. нестабильные соединения, поддержка прокси-серверов и возможность настройки.

Примечание. В разметке форматирование выглядит иначе, чем на моем экране.

Также обратите внимание, что egrep не давал вам описание, потому что описания начинаются с новой строки.

И, наконец, в описаниях могут быть пробелы. Этот метод сохранит полное описание.

Вы можете увидеть, какие теги доступны, используя:

rpm --querytags

Ссылка

об / мин человек