巧用awk快速拷贝ldd库文件依赖

写一个SHELL脚本,自动拷贝依赖的动态库。
touch test.sh

dep=$( ldd $1 | awk '{if (match($3,"so")){print $3}}' )  
cp -L -n $dep $2   

-n: don’t overwrite, 不覆盖原有文件
-L: follow symbolic link in source, 如果是软链接,则拷贝源链接文件

这里awk会使用默认的空格分割符对ldd输出的每一行进行分割,如果分割出的第3个参数中含有"so",则将其赋值给dep变量。

网上更多见到的是以下版本:

dep=$( ldd $1 | awk '{if (match($3,"/")){print $3}}' )  
cp -L -n $dep $2   

你可能感兴趣的:(C/C++)