Ну, я использовал немного sed, но так как я также использовал rpmspec
, чтобы сначала развернуть макросы, это должно быть вполне нормально:
$ export SPEC_FILE=maven-surefire.spec
$ rpmspec -P $SPEC_FILE | grep '^%package' | sed "s/-n //;t end;s/^/${SPEC_FILE/.spec}-/;:end;s/%package //"
Обратите внимание, что для этого потребуется basename
вызовработать с путями, но в остальном должен быть достаточно устойчивым к ошибкам.