преобразовать вывод нескольких переменных в таблицу в bash - PullRequest
1 голос
/ 27 марта 2020

У меня есть 3 переменные, $commonName, $expiryDate и $DaysRemInUnixEpoch. Каждая переменная имеет 3 строки, как показано ниже. Я хочу отобразить вывод всех 3 переменных в 3 разных столбцах. Я пытался найти решение, используя printf, но безуспешно. Кто-нибудь может сообщить, если они делали это в прошлом с помощью printf и как? Любая помощь будет принята с благодарностью.

Ниже приведены три переменных, выводимых вместе в одном столбце Я хочу разделить на 3 столбца, имеющих 3 строки в каждом столбце.

bash-4.1$ echo -e  "$commonName\n$expiryDate\n$daysRemInUnixEpoch" 
mycertificate_mycert.mycomp.net
PSIN0P551
ROOTROOTCA
Feb 6 2022 11:57:32 GMT
Jan 9 2023 18:51:25 GMT
Mar 12 2035 18:24:54 GMT
682
1020
5465
bash-4.1$

желаемый вывод, который я ищу, выглядит примерно так:

mycertificate_mycert.mycomp.net Feb 6 2022 11:57:32 GMT 682 PSIN0P551 Jan 9 2023 18:51:25 GMT 1020 ROOTROOTCA Mar 12 2035 18:24:54 GMT 5465

1 Ответ

1 голос
/ 27 марта 2020

С bash (Подстановка процесса), вставка и столбец:

paste -d ';' <(echo "$commonName") <(echo "$expiryDate") <(echo "$daysRemInUnixEpoch") | column -s ';' -t

Вывод:

mycertificate_mycert.mycomp.net  Feb 6 2022 11:57:32 GMT   682
PSIN0P551                        Jan 9 2023 18:51:25 GMT   1020
ROOTROOTCA                       Mar 12 2035 18:24:54 GMT  5465

Я предполагаю, что ваши переменные не содержат ;.


см .: man paste и man column

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...