我想在所有目标文件中从我所在的目录递归地找到符号“start”。我想我可以使用nm
or readelf
,但我是 shell 新手,不了解如何从手册中执行此操作。
答案1
你可以使用这样的东西:
find . -type f \( -executable -o -name \*.o \) -exec nm -A {} + | grep start
这将找到所有可执行文件或目标文件,并nm -A
在它们上运行,将结果通过管道传输到grep
.
您可以调整它来查找其他文件。对于库(.so
等),您应该使用nm -A -D
(列出动态符号)。该-A
选项使nm
文件名在每一行重复,以便过滤后的输出仍然有用。