#!/bin/sh -efu log=$1 removed=$(gzip -cdfq "$log" |sed -n 's/^-Requires: \(lib.*\.so[^(]*\)(.*/\1/p' |sort -u) [ -n "$removed" ] || exit 0 requires=$(gzip -cdfq "$log" |egrep '^([ +]Requires:|Requires[(:]|PreReq:)' |cut -d: -f2-) for soname in $removed; do if printf '%s\n' "$requires" |fgrep -qs " $soname("; then continue fi printf '%s\t%s\n' "${log%.gz}" "$soname" done