33 lines
528 B
Bash
Executable File
33 lines
528 B
Bash
Executable File
#!/bin/bash
|
|
|
|
main() {
|
|
if [ $# -lt 2 ]; then
|
|
echo "${0}: Usage: PATH LIBRARY ..."
|
|
return 2
|
|
fi
|
|
|
|
local root="${1}"
|
|
shift
|
|
|
|
if [ ! -d "${root}" ]; then
|
|
echo "${0}: ${root}: No such file or directory"
|
|
return 1
|
|
fi
|
|
|
|
local libraries="$@"
|
|
|
|
# Build the regex filter
|
|
local filter="(${libraries[*]// /|})"
|
|
|
|
local file
|
|
for file in $(find "${root}" -xdev -type f -executable); do
|
|
if readelf -d "${file}" 2>/dev/null | grep -qE "NEEDED.*\[${filter}\]$"; then
|
|
echo "${file}"
|
|
fi
|
|
done
|
|
|
|
return 0
|
|
}
|
|
|
|
main "$@" || exit $?
|