Существует ли способ объединить приведенные ниже две команды UNIX эффективным образом в единую конвейерную цепочку команд?

Существует ли способ объединить приведенные ниже две команды UNIX эффективным образом в единую конвейерную цепочку команд?

25.01.2020 06:09:54 Просмотров 17 Источник

постановка задачи

  1. Я хотел бы идентифицировать пакет и его описание с помощью rpm -qi ${pkgName}.
  2. cat -nна выходе из (1) даст мне какую строчку по подопечным начинается раздел описания.

    Пример: - 15-я строка в случае редактора Atom IDE в rpm.

  3. Я знаю, что могу решить часть вывода и форматирования снова, используя этот номер строки как rpm -qi atom | awk -v n=${lineNum} 'NR>=n'. Здесь lineNum будет 15.

Это неэффективно, и я хотел бы использовать команду rpm -qiтолько один раз, а затем добиться этого, извлекая раздел описания на подопечных. Есть ли у кого-нибудь способ сделать это ?

Дополнительно запрашиваемый вклад

[anand@ldnpsr2937 ~]$rpm -qi atom
Name.       : atom
Version     : 1.42.0
Release     : 0.1
Architecture: x86_64
Install Date: Sun 12 Jan 2020 10:23:12 AM
Group       : Unspecified
Size        : 590646918
License     : MIT
Signature   : (none)
Source RPM  : atom-1.42.0-0.1.src.rpm
Build Date  : Sat 14 Dec 2019 03:38:56 AM
Build Host  : 2580f855e2eb
Relocations : /usr
URL         : https://atom.io/
Summary     : A hackable text editor for the 21st Century.
Description : 
A hackable text editor for the 21st Century.
[anand@ldnpsr2937 ~]$
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/59906025/is-there-a-way-to-combine-the-below-two-unix-commands-in-efficient-manner-in-sin#comment105939961_59906025
Привет Равиндер, я добавил информацию. но jxh уже дал решение.

Ответы - Существует ли способ объединить приведенные ниже две команды UNIX эффективным образом в единую конвейерную цепочку команд? / Is there a way to Combine the below two UNIX Commands in efficient manner in single piped chain of commands?

jxh

25.01.2020 06:19:03

Вы, вероятно, хотели что-то вроде:

rpm -qi atom | sed -ne '/^Description/,$ p'

Где мы используем sedдля печати всего после совпадающей строки. Но, как показано в другом ответе, rpmимеет собственный метод для достижения этого.

Является ответом!
Danila Vershinin

25.01.2020 01:53:13

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

sed
https://stackoverflow.com/questions/59906025/is-there-a-way-to-combine-the-below-two-unix-commands-in-efficient-manner-in-sin/59908523#comment105942731_59908523
Это должно быть лучшим ответом. - Никогда не интересовался man-страницей rpm, я должен прочитать больше о языке запросов сейчас!! , Спасибо Даника!!
Закрыть X