LinuxForum.Fans
Тема

Одностроки

Автор: yars 8 сообщений 5200 просмотров
#252449

Доброго времени!
Итак, один из моих превых блинов:

text
find . \( -type f -a -name "*.so" -o -name "*.lo" \) -exec ldd {} \; | grep "not found" | sort -u 

Написан в связи с этим - для поиска недостающих либ :)
И вопрос:

text
find . -type f | if [ xargs file | grep "ELF" = "ELF" ]; then ldd

- как ldd (или readelf) передать параметр?
UPD: Нашел:

text
find . -type f -a -executable -exec ldd {} \; | grep "not found"

Решено, обидно :)

#252453

Мне за это ⇓ стыдно :o

Показать
text

for i in $(find /usr/bin -type f -exec file {} \; | awk -F ':' '/ELF/ {print $1}'); do ldd ${i}; done

...но проверьте :D

#252455

В Gentoo для проверки «битых» библиотек существует revdep-rebuild.

#252456
"Lupo Alberto" написал:
существует revdep-rebuild.

Мама мия :) Здоровущий скриптище. Ну, буду осиливать, спасибо.

#252458
"Lupo Alberto" написал:
Мне за это ⇓ стыдно

Да, есть такое. Но, как говорится, видели бы вы, с чего я начинал :)

#252459

В качестве некоторого оправдания :D
...правда мой «скриптик» применяет ldd только к скомпилированным файлам (что было в условиях задачи), ваш же — к любым исполняемым файлам, в том числе и скриптам на bash, perl, python, php и т.п. Возможно, в данном случае это не критично.

#252460

Да, я заметил. Действительно, в данном случае, некритично, т.к. "лишний" вывод "давится" grep'ом, да и мне был важен результат. Но ваш все же правильнее. Теперь я знаю, что мне нужна всего одна либа, но зато из самого сложнообновляемого в моем случае пакета.

#253800

И да, тему я открывал не столько совета спросить, сколько чтобы народ постил здесь полезные одностроковые скриптики.

Войдите или зарегистрируйтесь, чтобы ответить.