Как перечислить все команды, содержащиеся в определённом пакете rpm?

с grep и sed в одной строке:

for i in $(grep -f fileb filea | awk '{print $2}'); do sed -e 's/^C/\nC/g' filea | sed -n "/$i/,/^ *$/p" | grep -v "^$"; done

То есть:

Возьмите шаблоны для поиска с помощью:

grep -f fileb filea | awk '{print $2}'

Вставьте пустую строку перед каждой строкой, начинающейся с C:

sed -e 's/^C/\nC/g' filea

Взять из шаблона в пустая строка:

sed -n "/$i/,/^ *$/p"

Удалите пустые строки, чтобы получить желаемый результат:

grep -v "^$"

Все это внутри цикла for, чтобы иметь возможность выполнять один и тот же процесс для каждого шаблона в файле.

1
13.04.2017, 15:36
1 ответ

Используйте ниже одну команду лайнера для перечисления команды пакета:

 rpm -ql systemd | grep -w 'bin\|sbin' | awk -F '/' '{print $NF}' | xargs man head | grep ' - ' | grep -vi 'No manual' 2> /dev/null 
0
27.01.2020, 23:36

Теги

Похожие вопросы